using System;
using System.Runtime.InteropServices;


namespace Lime
{
	public static partial class GL
	{
		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCullFace(uint mode);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFrontFace(uint mode);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glHint(uint target, uint mode);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glLineWidth(float width);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPointSize(float size);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPolygonMode(uint face, uint mode);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glScissor(Int32 x, Int32 y, Int32 width, Int32 height);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexParameterf(uint target, uint pname, float param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexParameterfv(uint target, uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexParameteri(uint target, uint pname, Int32 param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexParameteriv(uint target, uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexImage1D(uint target, Int32 level, Int32 internalformat, Int32 width, Int32 border, uint format, uint type, IntPtr pixels);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexImage2D(uint target, Int32 level, Int32 internalformat, Int32 width, Int32 height, Int32 border, uint format, uint type, IntPtr pixels);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDrawBuffer(uint mode);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glClear(UInt32 mask);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glClearColor(float red, float green, float blue, float alpha);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glClearStencil(Int32 s);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glClearDepth(double depth);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glStencilMask(UInt32 mask);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColorMask(byte red, byte green, byte blue, byte alpha);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDepthMask(byte flag);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDisable(uint cap);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glEnable(uint cap);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFinish();

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFlush();

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBlendFunc(uint sfactor, uint dfactor);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glLogicOp(uint opcode);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glStencilFunc(uint func, Int32 reference, UInt32 mask);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glStencilOp(uint fail, uint zfail, uint zpass);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDepthFunc(uint func);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPixelStoref(uint pname, float param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPixelStorei(uint pname, Int32 param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glReadBuffer(uint mode);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glReadPixels(Int32 x, Int32 y, Int32 width, Int32 height, uint format, uint type, [OutAttribute] IntPtr pixels);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetBooleanv(uint pname, [OutAttribute] byte* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetDoublev(uint pname, [OutAttribute] double* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern uint glGetError();

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetFloatv(uint pname, [OutAttribute] float* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetIntegerv(uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern IntPtr glGetString(uint name);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetTexImage(uint target, Int32 level, uint format, uint type, [OutAttribute] IntPtr pixels);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetTexParameterfv(uint target, uint pname, [OutAttribute] float* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetTexParameteriv(uint target, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetTexLevelParameterfv(uint target, Int32 level, uint pname, [OutAttribute] float* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetTexLevelParameteriv(uint target, Int32 level, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern byte glIsEnabled(uint cap);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDepthRange(double near, double far);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glViewport(Int32 x, Int32 y, Int32 width, Int32 height);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNewList(UInt32 list, uint mode);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glEndList();

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCallList(UInt32 list);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCallLists(Int32 n, uint type, IntPtr lists);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDeleteLists(UInt32 list, Int32 range);

		[DllImport("opengl32.dll")]
		internal static unsafe extern UInt32 glGenLists(Int32 range);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glListBase(UInt32 base_);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBegin(uint mode);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBitmap(Int32 width, Int32 height, float xorig, float yorig, float xmove, float ymove, IntPtr bitmap);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColor3b(SByte red, SByte green, SByte blue);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColor3bv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColor3d(double red, double green, double blue);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColor3dv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColor3f(float red, float green, float blue);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColor3fv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColor3i(Int32 red, Int32 green, Int32 blue);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColor3iv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColor3s(Int16 red, Int16 green, Int16 blue);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColor3sv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColor3ub(byte red, byte green, byte blue);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColor3ubv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColor3ui(UInt32 red, UInt32 green, UInt32 blue);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColor3uiv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColor3us(UInt16 red, UInt16 green, UInt16 blue);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColor3usv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColor4b(SByte red, SByte green, SByte blue, SByte alpha);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColor4bv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColor4d(double red, double green, double blue, double alpha);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColor4dv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColor4f(float red, float green, float blue, float alpha);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColor4fv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColor4i(Int32 red, Int32 green, Int32 blue, Int32 alpha);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColor4iv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColor4s(Int16 red, Int16 green, Int16 blue, Int16 alpha);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColor4sv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColor4ub(byte red, byte green, byte blue, byte alpha);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColor4ubv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColor4ui(UInt32 red, UInt32 green, UInt32 blue, UInt32 alpha);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColor4uiv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColor4us(UInt16 red, UInt16 green, UInt16 blue, UInt16 alpha);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColor4usv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glEdgeFlag(byte flag);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glEdgeFlagv(IntPtr flag);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glEnd();

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glIndexd(double c);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glIndexdv(IntPtr c);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glIndexf(float c);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glIndexfv(IntPtr c);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glIndexi(Int32 c);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glIndexiv(IntPtr c);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glIndexs(Int16 c);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glIndexsv(IntPtr c);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNormal3b(SByte nx, SByte ny, SByte nz);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNormal3bv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNormal3d(double nx, double ny, double nz);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNormal3dv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNormal3f(float nx, float ny, float nz);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNormal3fv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNormal3i(Int32 nx, Int32 ny, Int32 nz);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNormal3iv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNormal3s(Int16 nx, Int16 ny, Int16 nz);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNormal3sv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glRasterPos2d(double x, double y);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glRasterPos2dv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glRasterPos2f(float x, float y);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glRasterPos2fv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glRasterPos2i(Int32 x, Int32 y);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glRasterPos2iv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glRasterPos2s(Int16 x, Int16 y);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glRasterPos2sv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glRasterPos3d(double x, double y, double z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glRasterPos3dv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glRasterPos3f(float x, float y, float z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glRasterPos3fv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glRasterPos3i(Int32 x, Int32 y, Int32 z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glRasterPos3iv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glRasterPos3s(Int16 x, Int16 y, Int16 z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glRasterPos3sv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glRasterPos4d(double x, double y, double z, double w);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glRasterPos4dv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glRasterPos4f(float x, float y, float z, float w);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glRasterPos4fv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glRasterPos4i(Int32 x, Int32 y, Int32 z, Int32 w);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glRasterPos4iv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glRasterPos4s(Int16 x, Int16 y, Int16 z, Int16 w);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glRasterPos4sv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glRectd(double x1, double y1, double x2, double y2);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glRectdv(IntPtr v1, IntPtr v2);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glRectf(float x1, float y1, float x2, float y2);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glRectfv(IntPtr v1, IntPtr v2);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glRecti(Int32 x1, Int32 y1, Int32 x2, Int32 y2);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glRectiv(IntPtr v1, IntPtr v2);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glRects(Int16 x1, Int16 y1, Int16 x2, Int16 y2);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glRectsv(IntPtr v1, IntPtr v2);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoord1d(double s);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoord1dv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoord1f(float s);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoord1fv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoord1i(Int32 s);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoord1iv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoord1s(Int16 s);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoord1sv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoord2d(double s, double t);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoord2dv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoord2f(float s, float t);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoord2fv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoord2i(Int32 s, Int32 t);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoord2iv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoord2s(Int16 s, Int16 t);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoord2sv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoord3d(double s, double t, double r);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoord3dv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoord3f(float s, float t, float r);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoord3fv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoord3i(Int32 s, Int32 t, Int32 r);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoord3iv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoord3s(Int16 s, Int16 t, Int16 r);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoord3sv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoord4d(double s, double t, double r, double q);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoord4dv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoord4f(float s, float t, float r, float q);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoord4fv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoord4i(Int32 s, Int32 t, Int32 r, Int32 q);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoord4iv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoord4s(Int16 s, Int16 t, Int16 r, Int16 q);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoord4sv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertex2d(double x, double y);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertex2dv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertex2f(float x, float y);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertex2fv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertex2i(Int32 x, Int32 y);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertex2iv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertex2s(Int16 x, Int16 y);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertex2sv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertex3d(double x, double y, double z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertex3dv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertex3f(float x, float y, float z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertex3fv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertex3i(Int32 x, Int32 y, Int32 z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertex3iv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertex3s(Int16 x, Int16 y, Int16 z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertex3sv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertex4d(double x, double y, double z, double w);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertex4dv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertex4f(float x, float y, float z, float w);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertex4fv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertex4i(Int32 x, Int32 y, Int32 z, Int32 w);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertex4iv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertex4s(Int16 x, Int16 y, Int16 z, Int16 w);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertex4sv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glClipPlane(uint plane, IntPtr equation);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColorMaterial(uint face, uint mode);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFogf(uint pname, float param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFogfv(uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFogi(uint pname, Int32 param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFogiv(uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glLightf(uint light, uint pname, float param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glLightfv(uint light, uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glLighti(uint light, uint pname, Int32 param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glLightiv(uint light, uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glLightModelf(uint pname, float param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glLightModelfv(uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glLightModeli(uint pname, Int32 param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glLightModeliv(uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glLineStipple(Int32 factor, UInt16 pattern);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMaterialf(uint face, uint pname, float param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMaterialfv(uint face, uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMateriali(uint face, uint pname, Int32 param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMaterialiv(uint face, uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPolygonStipple(IntPtr mask);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glShadeModel(uint mode);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexEnvf(uint target, uint pname, float param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexEnvfv(uint target, uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexEnvi(uint target, uint pname, Int32 param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexEnviv(uint target, uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexGend(uint coord, uint pname, double param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexGendv(uint coord, uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexGenf(uint coord, uint pname, float param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexGenfv(uint coord, uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexGeni(uint coord, uint pname, Int32 param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexGeniv(uint coord, uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFeedbackBuffer(Int32 size, uint type, [OutAttribute] float* buffer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSelectBuffer(Int32 size, [OutAttribute] UInt32* buffer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern Int32 glRenderMode(uint mode);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glInitNames();

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glLoadName(UInt32 name);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPassThrough(float token);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPopName();

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPushName(UInt32 name);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glClearAccum(float red, float green, float blue, float alpha);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glClearIndex(float c);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glIndexMask(UInt32 mask);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glAccum(uint op, float val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPopAttrib();

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPushAttrib(UInt32 mask);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMap1d(uint target, double u1, double u2, Int32 stride, Int32 order, IntPtr points);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMap1f(uint target, float u1, float u2, Int32 stride, Int32 order, IntPtr points);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMap2d(uint target, double u1, double u2, Int32 ustride, Int32 uorder, double v1, double v2, Int32 vstride, Int32 vorder, IntPtr points);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMap2f(uint target, float u1, float u2, Int32 ustride, Int32 uorder, float v1, float v2, Int32 vstride, Int32 vorder, IntPtr points);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMapGrid1d(Int32 un, double u1, double u2);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMapGrid1f(Int32 un, float u1, float u2);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMapGrid2d(Int32 un, double u1, double u2, Int32 vn, double v1, double v2);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMapGrid2f(Int32 un, float u1, float u2, Int32 vn, float v1, float v2);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glEvalCoord1d(double u);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glEvalCoord1dv(IntPtr u);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glEvalCoord1f(float u);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glEvalCoord1fv(IntPtr u);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glEvalCoord2d(double u, double v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glEvalCoord2dv(IntPtr u);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glEvalCoord2f(float u, float v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glEvalCoord2fv(IntPtr u);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glEvalMesh1(uint mode, Int32 i1, Int32 i2);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glEvalPoint1(Int32 i);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glEvalMesh2(uint mode, Int32 i1, Int32 i2, Int32 j1, Int32 j2);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glEvalPoint2(Int32 i, Int32 j);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glAlphaFunc(uint func, float reference);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPixelZoom(float xfactor, float yfactor);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPixelTransferf(uint pname, float param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPixelTransferi(uint pname, Int32 param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPixelMapfv(uint map, Int32 mapsize, IntPtr values);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPixelMapuiv(uint map, Int32 mapsize, IntPtr values);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPixelMapusv(uint map, Int32 mapsize, IntPtr values);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCopyPixels(Int32 x, Int32 y, Int32 width, Int32 height, uint type);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDrawPixels(Int32 width, Int32 height, uint format, uint type, IntPtr pixels);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetClipPlane(uint plane, [OutAttribute] double* equation);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetLightfv(uint light, uint pname, [OutAttribute] float* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetLightiv(uint light, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetMapdv(uint target, uint query, [OutAttribute] double* v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetMapfv(uint target, uint query, [OutAttribute] float* v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetMapiv(uint target, uint query, [OutAttribute] Int32* v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetMaterialfv(uint face, uint pname, [OutAttribute] float* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetMaterialiv(uint face, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetPixelMapfv(uint map, [OutAttribute] float* values);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetPixelMapuiv(uint map, [OutAttribute] UInt32* values);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetPixelMapusv(uint map, [OutAttribute] UInt16* values);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetPolygonStipple([OutAttribute] byte* mask);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetTexEnvfv(uint target, uint pname, [OutAttribute] float* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetTexEnviv(uint target, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetTexGendv(uint coord, uint pname, [OutAttribute] double* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetTexGenfv(uint coord, uint pname, [OutAttribute] float* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetTexGeniv(uint coord, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern byte glIsList(UInt32 list);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFrustum(double left, double right, double bottom, double top, double zNear, double zFar);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glLoadIdentity();

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glLoadMatrixf(IntPtr m);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glLoadMatrixd(IntPtr m);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMatrixMode(uint mode);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultMatrixf(IntPtr m);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultMatrixd(IntPtr m);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glOrtho(double left, double right, double bottom, double top, double zNear, double zFar);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPopMatrix();

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPushMatrix();

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glRotated(double angle, double x, double y, double z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glRotatef(float angle, float x, float y, float z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glScaled(double x, double y, double z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glScalef(float x, float y, float z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTranslated(double x, double y, double z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTranslatef(float x, float y, float z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDrawArrays(uint mode, Int32 first, Int32 count);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDrawElements(uint mode, Int32 count, uint type, IntPtr indices);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetPointerv(uint pname, [OutAttribute] IntPtr* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPolygonOffset(float factor, float units);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCopyTexImage1D(uint target, Int32 level, uint internalformat, Int32 x, Int32 y, Int32 width, Int32 border);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCopyTexImage2D(uint target, Int32 level, uint internalformat, Int32 x, Int32 y, Int32 width, Int32 height, Int32 border);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCopyTexSubImage1D(uint target, Int32 level, Int32 xoffset, Int32 x, Int32 y, Int32 width);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCopyTexSubImage2D(uint target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 x, Int32 y, Int32 width, Int32 height);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexSubImage1D(uint target, Int32 level, Int32 xoffset, Int32 width, uint format, uint type, IntPtr pixels);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexSubImage2D(uint target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, uint format, uint type, IntPtr pixels);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBindTexture(uint target, UInt32 texture);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDeleteTextures(Int32 n, IntPtr textures);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGenTextures(Int32 n, [OutAttribute] UInt32* textures);

		[DllImport("opengl32.dll")]
		internal static unsafe extern byte glIsTexture(UInt32 texture);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glArrayElement(Int32 i);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColorPointer(Int32 size, uint type, Int32 stride, IntPtr pointer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDisableClientState(uint array);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glEdgeFlagPointer(Int32 stride, IntPtr pointer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glEnableClientState(uint array);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glIndexPointer(uint type, Int32 stride, IntPtr pointer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glInterleavedArrays(uint format, Int32 stride, IntPtr pointer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNormalPointer(uint type, Int32 stride, IntPtr pointer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoordPointer(Int32 size, uint type, Int32 stride, IntPtr pointer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexPointer(Int32 size, uint type, Int32 stride, IntPtr pointer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern byte glAreTexturesResident(Int32 n, IntPtr textures, [OutAttribute] byte* residences);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPrioritizeTextures(Int32 n, IntPtr textures, IntPtr priorities);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glIndexub(byte c);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glIndexubv(IntPtr c);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPopClientAttrib();

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPushClientAttrib(UInt32 mask);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBlendColor(float red, float green, float blue, float alpha);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBlendEquation(uint mode);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDrawRangeElements(uint mode, UInt32 start, UInt32 end, Int32 count, uint type, IntPtr indices);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexImage3D(uint target, Int32 level, Int32 internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, uint format, uint type, IntPtr pixels);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexSubImage3D(uint target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, uint format, uint type, IntPtr pixels);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCopyTexSubImage3D(uint target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 x, Int32 y, Int32 width, Int32 height);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColorTable(uint target, uint internalformat, Int32 width, uint format, uint type, IntPtr table);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColorTableParameterfv(uint target, uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColorTableParameteriv(uint target, uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCopyColorTable(uint target, uint internalformat, Int32 x, Int32 y, Int32 width);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetColorTable(uint target, uint format, uint type, [OutAttribute] IntPtr table);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetColorTableParameterfv(uint target, uint pname, [OutAttribute] float* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetColorTableParameteriv(uint target, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColorSubTable(uint target, Int32 start, Int32 count, uint format, uint type, IntPtr data);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCopyColorSubTable(uint target, Int32 start, Int32 x, Int32 y, Int32 width);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glConvolutionFilter1D(uint target, uint internalformat, Int32 width, uint format, uint type, IntPtr image);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glConvolutionFilter2D(uint target, uint internalformat, Int32 width, Int32 height, uint format, uint type, IntPtr image);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glConvolutionParameterf(uint target, uint pname, float parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glConvolutionParameterfv(uint target, uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glConvolutionParameteri(uint target, uint pname, Int32 parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glConvolutionParameteriv(uint target, uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCopyConvolutionFilter1D(uint target, uint internalformat, Int32 x, Int32 y, Int32 width);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCopyConvolutionFilter2D(uint target, uint internalformat, Int32 x, Int32 y, Int32 width, Int32 height);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetConvolutionFilter(uint target, uint format, uint type, [OutAttribute] IntPtr image);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetConvolutionParameterfv(uint target, uint pname, [OutAttribute] float* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetConvolutionParameteriv(uint target, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetSeparableFilter(uint target, uint format, uint type, [OutAttribute] IntPtr row, [OutAttribute] IntPtr column, [OutAttribute] IntPtr span);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSeparableFilter2D(uint target, uint internalformat, Int32 width, Int32 height, uint format, uint type, IntPtr row, IntPtr column);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetHistogram(uint target, byte reset, uint format, uint type, [OutAttribute] IntPtr values);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetHistogramParameterfv(uint target, uint pname, [OutAttribute] float* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetHistogramParameteriv(uint target, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetMinmax(uint target, byte reset, uint format, uint type, [OutAttribute] IntPtr values);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetMinmaxParameterfv(uint target, uint pname, [OutAttribute] float* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetMinmaxParameteriv(uint target, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glHistogram(uint target, Int32 width, uint internalformat, byte sink);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMinmax(uint target, uint internalformat, byte sink);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glResetHistogram(uint target);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glResetMinmax(uint target);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glActiveTexture(uint texture);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSampleCoverage(float val, byte invert);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCompressedTexImage3D(uint target, Int32 level, uint internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, IntPtr data);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCompressedTexImage2D(uint target, Int32 level, uint internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, IntPtr data);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCompressedTexImage1D(uint target, Int32 level, uint internalformat, Int32 width, Int32 border, Int32 imageSize, IntPtr data);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCompressedTexSubImage3D(uint target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, uint format, Int32 imageSize, IntPtr data);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCompressedTexSubImage2D(uint target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, uint format, Int32 imageSize, IntPtr data);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCompressedTexSubImage1D(uint target, Int32 level, Int32 xoffset, Int32 width, uint format, Int32 imageSize, IntPtr data);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetCompressedTexImage(uint target, Int32 level, [OutAttribute] IntPtr img);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glClientActiveTexture(uint texture);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord1d(uint target, double s);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord1dv(uint target, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord1f(uint target, float s);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord1fv(uint target, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord1i(uint target, Int32 s);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord1iv(uint target, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord1s(uint target, Int16 s);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord1sv(uint target, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord2d(uint target, double s, double t);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord2dv(uint target, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord2f(uint target, float s, float t);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord2fv(uint target, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord2i(uint target, Int32 s, Int32 t);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord2iv(uint target, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord2s(uint target, Int16 s, Int16 t);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord2sv(uint target, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord3d(uint target, double s, double t, double r);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord3dv(uint target, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord3f(uint target, float s, float t, float r);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord3fv(uint target, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord3i(uint target, Int32 s, Int32 t, Int32 r);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord3iv(uint target, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord3s(uint target, Int16 s, Int16 t, Int16 r);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord3sv(uint target, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord4d(uint target, double s, double t, double r, double q);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord4dv(uint target, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord4f(uint target, float s, float t, float r, float q);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord4fv(uint target, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord4i(uint target, Int32 s, Int32 t, Int32 r, Int32 q);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord4iv(uint target, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord4s(uint target, Int16 s, Int16 t, Int16 r, Int16 q);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord4sv(uint target, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glLoadTransposeMatrixf(IntPtr m);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glLoadTransposeMatrixd(IntPtr m);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultTransposeMatrixf(IntPtr m);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultTransposeMatrixd(IntPtr m);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBlendFuncSeparate(uint sfactorRGB, uint dfactorRGB, uint sfactorAlpha, uint dfactorAlpha);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiDrawArrays(uint mode, [OutAttribute] Int32* first, [OutAttribute] Int32* count, Int32 primcount);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiDrawElements(uint mode, IntPtr count, uint type, IntPtr indices, Int32 primcount);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPointParameterf(uint pname, float param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPointParameterfv(uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPointParameteri(uint pname, Int32 param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPointParameteriv(uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFogCoordf(float coord);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFogCoordfv(IntPtr coord);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFogCoordd(double coord);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFogCoorddv(IntPtr coord);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFogCoordPointer(uint type, Int32 stride, IntPtr pointer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSecondaryColor3b(SByte red, SByte green, SByte blue);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSecondaryColor3bv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSecondaryColor3d(double red, double green, double blue);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSecondaryColor3dv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSecondaryColor3f(float red, float green, float blue);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSecondaryColor3fv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSecondaryColor3i(Int32 red, Int32 green, Int32 blue);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSecondaryColor3iv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSecondaryColor3s(Int16 red, Int16 green, Int16 blue);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSecondaryColor3sv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSecondaryColor3ub(byte red, byte green, byte blue);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSecondaryColor3ubv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSecondaryColor3ui(UInt32 red, UInt32 green, UInt32 blue);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSecondaryColor3uiv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSecondaryColor3us(UInt16 red, UInt16 green, UInt16 blue);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSecondaryColor3usv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSecondaryColorPointer(Int32 size, uint type, Int32 stride, IntPtr pointer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWindowPos2d(double x, double y);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWindowPos2dv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWindowPos2f(float x, float y);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWindowPos2fv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWindowPos2i(Int32 x, Int32 y);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWindowPos2iv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWindowPos2s(Int16 x, Int16 y);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWindowPos2sv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWindowPos3d(double x, double y, double z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWindowPos3dv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWindowPos3f(float x, float y, float z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWindowPos3fv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWindowPos3i(Int32 x, Int32 y, Int32 z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWindowPos3iv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWindowPos3s(Int16 x, Int16 y, Int16 z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWindowPos3sv(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGenQueries(Int32 n, [OutAttribute] UInt32* ids);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDeleteQueries(Int32 n, IntPtr ids);

		[DllImport("opengl32.dll")]
		internal static unsafe extern byte glIsQuery(UInt32 id);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBeginQuery(uint target, UInt32 id);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glEndQuery(uint target);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetQueryiv(uint target, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetQueryObjectiv(UInt32 id, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetQueryObjectuiv(UInt32 id, uint pname, [OutAttribute] UInt32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBindBuffer(uint target, UInt32 buffer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDeleteBuffers(Int32 n, IntPtr buffers);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGenBuffers(Int32 n, [OutAttribute] UInt32* buffers);

		[DllImport("opengl32.dll")]
		internal static unsafe extern byte glIsBuffer(UInt32 buffer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBufferData(uint target, IntPtr size, IntPtr data, uint usage);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBufferSubData(uint target, IntPtr offset, IntPtr size, IntPtr data);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetBufferSubData(uint target, IntPtr offset, IntPtr size, [OutAttribute] IntPtr data);

		[DllImport("opengl32.dll")]
		internal static unsafe extern IntPtr glMapBuffer(uint target, uint access);

		[DllImport("opengl32.dll")]
		internal static unsafe extern byte glUnmapBuffer(uint target);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetBufferParameteriv(uint target, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetBufferPointerv(uint target, uint pname, [OutAttribute] IntPtr* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBlendEquationSeparate(uint modeRGB, uint modeAlpha);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDrawBuffers(Int32 n, IntPtr bufs);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glStencilOpSeparate(uint face, uint sfail, uint dpfail, uint dppass);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glStencilFuncSeparate(uint frontfunc, uint backfunc, Int32 reference, UInt32 mask);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glStencilMaskSeparate(uint face, UInt32 mask);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glAttachShader(UInt32 program, UInt32 shader);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBindAttribLocation(UInt32 program, UInt32 index, IntPtr name);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCompileShader(UInt32 shader);

		[DllImport("opengl32.dll")]
		internal static unsafe extern UInt32 glCreateProgram();

		[DllImport("opengl32.dll")]
		internal static unsafe extern UInt32 glCreateShader(uint type);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDeleteProgram(UInt32 program);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDeleteShader(UInt32 shader);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDetachShader(UInt32 program, UInt32 shader);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDisableVertexAttribArray(UInt32 index);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glEnableVertexAttribArray(UInt32 index);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetActiveAttrib(UInt32 program, UInt32 index, Int32 bufSize, [OutAttribute] Int32* length, [OutAttribute] Int32* size, [OutAttribute] uint* type, [OutAttribute] byte* name);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetActiveUniform(UInt32 program, UInt32 index, Int32 bufSize, [OutAttribute] Int32* length, [OutAttribute] Int32* size, [OutAttribute] uint* type, [OutAttribute] byte* name);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetAttachedShaders(UInt32 program, Int32 maxCount, [OutAttribute] Int32* count, [OutAttribute] UInt32* obj);

		[DllImport("opengl32.dll")]
		internal static unsafe extern Int32 glGetAttribLocation(UInt32 program, IntPtr name);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetProgramiv(UInt32 program, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetProgramInfoLog(UInt32 program, Int32 bufSize, [OutAttribute] Int32* length, [OutAttribute] byte* infoLog);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetShaderiv(UInt32 shader, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetShaderInfoLog(UInt32 shader, Int32 bufSize, [OutAttribute] Int32* length, [OutAttribute] byte* infoLog);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetShaderSource(UInt32 shader, Int32 bufSize, [OutAttribute] Int32* length, [OutAttribute] byte* source);

		[DllImport("opengl32.dll")]
		internal static unsafe extern Int32 glGetUniformLocation(UInt32 program, IntPtr name);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetUniformfv(UInt32 program, Int32 location, [OutAttribute] float* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetUniformiv(UInt32 program, Int32 location, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetVertexAttribdv(UInt32 index, uint pname, [OutAttribute] double* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetVertexAttribfv(UInt32 index, uint pname, [OutAttribute] float* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetVertexAttribiv(UInt32 index, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetVertexAttribPointerv(UInt32 index, uint pname, [OutAttribute] IntPtr* pointer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern byte glIsProgram(UInt32 program);

		[DllImport("opengl32.dll")]
		internal static unsafe extern byte glIsShader(UInt32 shader);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glLinkProgram(UInt32 program);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glShaderSource(UInt32 shader, Int32 count, IntPtr str, IntPtr length);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUseProgram(UInt32 program);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniform1f(Int32 location, float v0);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniform2f(Int32 location, float v0, float v1);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniform3f(Int32 location, float v0, float v1, float v2);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniform4f(Int32 location, float v0, float v1, float v2, float v3);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniform1i(Int32 location, Int32 v0);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniform2i(Int32 location, Int32 v0, Int32 v1);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniform3i(Int32 location, Int32 v0, Int32 v1, Int32 v2);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniform4i(Int32 location, Int32 v0, Int32 v1, Int32 v2, Int32 v3);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniform1fv(Int32 location, Int32 count, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniform2fv(Int32 location, Int32 count, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniform3fv(Int32 location, Int32 count, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniform4fv(Int32 location, Int32 count, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniform1iv(Int32 location, Int32 count, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniform2iv(Int32 location, Int32 count, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniform3iv(Int32 location, Int32 count, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniform4iv(Int32 location, Int32 count, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniformMatrix2fv(Int32 location, Int32 count, byte transpose, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniformMatrix3fv(Int32 location, Int32 count, byte transpose, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniformMatrix4fv(Int32 location, Int32 count, byte transpose, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glValidateProgram(UInt32 program);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib1d(UInt32 index, double x);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib1dv(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib1f(UInt32 index, float x);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib1fv(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib1s(UInt32 index, Int16 x);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib1sv(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib2d(UInt32 index, double x, double y);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib2dv(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib2f(UInt32 index, float x, float y);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib2fv(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib2s(UInt32 index, Int16 x, Int16 y);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib2sv(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib3d(UInt32 index, double x, double y, double z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib3dv(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib3f(UInt32 index, float x, float y, float z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib3fv(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib3s(UInt32 index, Int16 x, Int16 y, Int16 z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib3sv(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib4Nbv(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib4Niv(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib4Nsv(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib4Nub(UInt32 index, byte x, byte y, byte z, byte w);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib4Nubv(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib4Nuiv(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib4Nusv(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib4bv(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib4d(UInt32 index, double x, double y, double z, double w);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib4dv(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib4f(UInt32 index, float x, float y, float z, float w);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib4fv(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib4iv(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib4s(UInt32 index, Int16 x, Int16 y, Int16 z, Int16 w);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib4sv(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib4ubv(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib4uiv(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib4usv(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribPointer(UInt32 index, Int32 size, uint type, byte normalized, Int32 stride, IntPtr pointer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniformMatrix2x3fv(Int32 location, Int32 count, byte transpose, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniformMatrix3x2fv(Int32 location, Int32 count, byte transpose, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniformMatrix2x4fv(Int32 location, Int32 count, byte transpose, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniformMatrix4x2fv(Int32 location, Int32 count, byte transpose, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniformMatrix3x4fv(Int32 location, Int32 count, byte transpose, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniformMatrix4x3fv(Int32 location, Int32 count, byte transpose, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColorMaski(UInt32 index, byte r, byte g, byte b, byte a);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetBooleani_v(uint target, UInt32 index, [OutAttribute] byte* data);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetIntegeri_v(uint target, UInt32 index, [OutAttribute] Int32* data);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glEnablei(uint target, UInt32 index);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDisablei(uint target, UInt32 index);

		[DllImport("opengl32.dll")]
		internal static unsafe extern byte glIsEnabledi(uint target, UInt32 index);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBeginTransformFeedback(uint primitiveMode);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glEndTransformFeedback();

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBindBufferRange(uint target, UInt32 index, UInt32 buffer, IntPtr offset, IntPtr size);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBindBufferBase(uint target, UInt32 index, UInt32 buffer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTransformFeedbackVaryings(UInt32 program, Int32 count, IntPtr varyings, uint bufferMode);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetTransformFeedbackVarying(UInt32 program, UInt32 index, Int32 bufSize, [OutAttribute] Int32* length, [OutAttribute] Int32* size, [OutAttribute] uint* type, [OutAttribute] byte* name);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glClampColor(uint target, uint clamp);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBeginConditionalRender(UInt32 id, uint mode);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glEndConditionalRender();

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribIPointer(UInt32 index, Int32 size, uint type, Int32 stride, IntPtr pointer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetVertexAttribIiv(UInt32 index, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetVertexAttribIuiv(UInt32 index, uint pname, [OutAttribute] UInt32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribI1i(UInt32 index, Int32 x);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribI2i(UInt32 index, Int32 x, Int32 y);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribI3i(UInt32 index, Int32 x, Int32 y, Int32 z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribI4i(UInt32 index, Int32 x, Int32 y, Int32 z, Int32 w);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribI1ui(UInt32 index, UInt32 x);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribI2ui(UInt32 index, UInt32 x, UInt32 y);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribI3ui(UInt32 index, UInt32 x, UInt32 y, UInt32 z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribI4ui(UInt32 index, UInt32 x, UInt32 y, UInt32 z, UInt32 w);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribI1iv(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribI2iv(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribI3iv(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribI4iv(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribI1uiv(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribI2uiv(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribI3uiv(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribI4uiv(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribI4bv(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribI4sv(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribI4ubv(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribI4usv(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetUniformuiv(UInt32 program, Int32 location, [OutAttribute] UInt32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBindFragDataLocation(UInt32 program, UInt32 color, IntPtr name);

		[DllImport("opengl32.dll")]
		internal static unsafe extern Int32 glGetFragDataLocation(UInt32 program, IntPtr name);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniform1ui(Int32 location, UInt32 v0);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniform2ui(Int32 location, UInt32 v0, UInt32 v1);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniform3ui(Int32 location, UInt32 v0, UInt32 v1, UInt32 v2);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniform4ui(Int32 location, UInt32 v0, UInt32 v1, UInt32 v2, UInt32 v3);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniform1uiv(Int32 location, Int32 count, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniform2uiv(Int32 location, Int32 count, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniform3uiv(Int32 location, Int32 count, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniform4uiv(Int32 location, Int32 count, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexParameterIiv(uint target, uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexParameterIuiv(uint target, uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetTexParameterIiv(uint target, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetTexParameterIuiv(uint target, uint pname, [OutAttribute] UInt32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glClearBufferiv(uint buffer, Int32 drawbuffer, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glClearBufferuiv(uint buffer, Int32 drawbuffer, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glClearBufferfv(uint buffer, Int32 drawbuffer, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glClearBufferfi(uint buffer, Int32 drawbuffer, float depth, Int32 stencil);

		[DllImport("opengl32.dll")]
		internal static unsafe extern IntPtr glGetStringi(uint name, UInt32 index);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDrawArraysInstanced(uint mode, Int32 first, Int32 count, Int32 primcount);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDrawElementsInstanced(uint mode, Int32 count, uint type, IntPtr indices, Int32 primcount);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexBuffer(uint target, uint internalformat, UInt32 buffer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPrimitiveRestartIndex(UInt32 index);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetInteger64i_v(uint target, UInt32 index, [OutAttribute] Int64* data);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetBufferParameteri64v(uint target, uint pname, [OutAttribute] Int64* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramParameteri(UInt32 program, uint pname, Int32 val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFramebufferTexture(uint target, uint attachment, UInt32 texture, Int32 level);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glActiveTextureARB(uint texture);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glClientActiveTextureARB(uint texture);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord1dARB(uint target, double s);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord1dvARB(uint target, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord1fARB(uint target, float s);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord1fvARB(uint target, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord1iARB(uint target, Int32 s);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord1ivARB(uint target, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord1sARB(uint target, Int16 s);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord1svARB(uint target, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord2dARB(uint target, double s, double t);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord2dvARB(uint target, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord2fARB(uint target, float s, float t);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord2fvARB(uint target, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord2iARB(uint target, Int32 s, Int32 t);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord2ivARB(uint target, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord2sARB(uint target, Int16 s, Int16 t);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord2svARB(uint target, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord3dARB(uint target, double s, double t, double r);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord3dvARB(uint target, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord3fARB(uint target, float s, float t, float r);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord3fvARB(uint target, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord3iARB(uint target, Int32 s, Int32 t, Int32 r);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord3ivARB(uint target, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord3sARB(uint target, Int16 s, Int16 t, Int16 r);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord3svARB(uint target, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord4dARB(uint target, double s, double t, double r, double q);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord4dvARB(uint target, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord4fARB(uint target, float s, float t, float r, float q);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord4fvARB(uint target, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord4iARB(uint target, Int32 s, Int32 t, Int32 r, Int32 q);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord4ivARB(uint target, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord4sARB(uint target, Int16 s, Int16 t, Int16 r, Int16 q);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord4svARB(uint target, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glLoadTransposeMatrixfARB(IntPtr m);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glLoadTransposeMatrixdARB(IntPtr m);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultTransposeMatrixfARB(IntPtr m);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultTransposeMatrixdARB(IntPtr m);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSampleCoverageARB(float val, byte invert);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCompressedTexImage3DARB(uint target, Int32 level, uint internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, IntPtr data);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCompressedTexImage2DARB(uint target, Int32 level, uint internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, IntPtr data);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCompressedTexImage1DARB(uint target, Int32 level, uint internalformat, Int32 width, Int32 border, Int32 imageSize, IntPtr data);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCompressedTexSubImage3DARB(uint target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, uint format, Int32 imageSize, IntPtr data);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCompressedTexSubImage2DARB(uint target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, uint format, Int32 imageSize, IntPtr data);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCompressedTexSubImage1DARB(uint target, Int32 level, Int32 xoffset, Int32 width, uint format, Int32 imageSize, IntPtr data);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetCompressedTexImageARB(uint target, Int32 level, [OutAttribute] IntPtr img);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPointParameterfARB(uint pname, float param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPointParameterfvARB(uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWeightbvARB(Int32 size, IntPtr weights);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWeightsvARB(Int32 size, IntPtr weights);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWeightivARB(Int32 size, IntPtr weights);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWeightfvARB(Int32 size, IntPtr weights);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWeightdvARB(Int32 size, IntPtr weights);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWeightubvARB(Int32 size, IntPtr weights);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWeightusvARB(Int32 size, IntPtr weights);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWeightuivARB(Int32 size, IntPtr weights);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWeightPointerARB(Int32 size, uint type, Int32 stride, IntPtr pointer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexBlendARB(Int32 count);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCurrentPaletteMatrixARB(Int32 index);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMatrixIndexubvARB(Int32 size, IntPtr indices);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMatrixIndexusvARB(Int32 size, IntPtr indices);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMatrixIndexuivARB(Int32 size, IntPtr indices);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMatrixIndexPointerARB(Int32 size, uint type, Int32 stride, IntPtr pointer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWindowPos2dARB(double x, double y);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWindowPos2dvARB(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWindowPos2fARB(float x, float y);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWindowPos2fvARB(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWindowPos2iARB(Int32 x, Int32 y);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWindowPos2ivARB(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWindowPos2sARB(Int16 x, Int16 y);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWindowPos2svARB(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWindowPos3dARB(double x, double y, double z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWindowPos3dvARB(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWindowPos3fARB(float x, float y, float z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWindowPos3fvARB(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWindowPos3iARB(Int32 x, Int32 y, Int32 z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWindowPos3ivARB(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWindowPos3sARB(Int16 x, Int16 y, Int16 z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWindowPos3svARB(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib1dARB(UInt32 index, double x);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib1dvARB(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib1fARB(UInt32 index, float x);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib1fvARB(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib1sARB(UInt32 index, Int16 x);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib1svARB(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib2dARB(UInt32 index, double x, double y);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib2dvARB(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib2fARB(UInt32 index, float x, float y);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib2fvARB(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib2sARB(UInt32 index, Int16 x, Int16 y);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib2svARB(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib3dARB(UInt32 index, double x, double y, double z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib3dvARB(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib3fARB(UInt32 index, float x, float y, float z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib3fvARB(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib3sARB(UInt32 index, Int16 x, Int16 y, Int16 z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib3svARB(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib4NbvARB(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib4NivARB(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib4NsvARB(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib4NubARB(UInt32 index, byte x, byte y, byte z, byte w);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib4NubvARB(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib4NuivARB(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib4NusvARB(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib4bvARB(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib4dARB(UInt32 index, double x, double y, double z, double w);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib4dvARB(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib4fARB(UInt32 index, float x, float y, float z, float w);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib4fvARB(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib4ivARB(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib4sARB(UInt32 index, Int16 x, Int16 y, Int16 z, Int16 w);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib4svARB(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib4ubvARB(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib4uivARB(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib4usvARB(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribPointerARB(UInt32 index, Int32 size, uint type, byte normalized, Int32 stride, IntPtr pointer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glEnableVertexAttribArrayARB(UInt32 index);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDisableVertexAttribArrayARB(UInt32 index);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramStringARB(uint target, uint format, Int32 len, IntPtr str);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBindProgramARB(uint target, UInt32 program);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDeleteProgramsARB(Int32 n, IntPtr programs);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGenProgramsARB(Int32 n, [OutAttribute] UInt32* programs);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramEnvParameter4dARB(uint target, UInt32 index, double x, double y, double z, double w);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramEnvParameter4dvARB(uint target, UInt32 index, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramEnvParameter4fARB(uint target, UInt32 index, float x, float y, float z, float w);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramEnvParameter4fvARB(uint target, UInt32 index, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramLocalParameter4dARB(uint target, UInt32 index, double x, double y, double z, double w);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramLocalParameter4dvARB(uint target, UInt32 index, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramLocalParameter4fARB(uint target, UInt32 index, float x, float y, float z, float w);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramLocalParameter4fvARB(uint target, UInt32 index, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetProgramEnvParameterdvARB(uint target, UInt32 index, [OutAttribute] double* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetProgramEnvParameterfvARB(uint target, UInt32 index, [OutAttribute] float* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetProgramLocalParameterdvARB(uint target, UInt32 index, [OutAttribute] double* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetProgramLocalParameterfvARB(uint target, UInt32 index, [OutAttribute] float* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetProgramivARB(uint target, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetProgramStringARB(uint target, uint pname, [OutAttribute] IntPtr str);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetVertexAttribdvARB(UInt32 index, uint pname, [OutAttribute] double* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetVertexAttribfvARB(UInt32 index, uint pname, [OutAttribute] float* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetVertexAttribivARB(UInt32 index, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetVertexAttribPointervARB(UInt32 index, uint pname, [OutAttribute] IntPtr* pointer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern byte glIsProgramARB(UInt32 program);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBindBufferARB(uint target, UInt32 buffer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDeleteBuffersARB(Int32 n, IntPtr buffers);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGenBuffersARB(Int32 n, [OutAttribute] UInt32* buffers);

		[DllImport("opengl32.dll")]
		internal static unsafe extern byte glIsBufferARB(UInt32 buffer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBufferDataARB(uint target, IntPtr size, IntPtr data, uint usage);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBufferSubDataARB(uint target, IntPtr offset, IntPtr size, IntPtr data);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetBufferSubDataARB(uint target, IntPtr offset, IntPtr size, [OutAttribute] IntPtr data);

		[DllImport("opengl32.dll")]
		internal static unsafe extern IntPtr glMapBufferARB(uint target, uint access);

		[DllImport("opengl32.dll")]
		internal static unsafe extern byte glUnmapBufferARB(uint target);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetBufferParameterivARB(uint target, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetBufferPointervARB(uint target, uint pname, [OutAttribute] IntPtr* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGenQueriesARB(Int32 n, [OutAttribute] UInt32* ids);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDeleteQueriesARB(Int32 n, IntPtr ids);

		[DllImport("opengl32.dll")]
		internal static unsafe extern byte glIsQueryARB(UInt32 id);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBeginQueryARB(uint target, UInt32 id);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glEndQueryARB(uint target);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetQueryivARB(uint target, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetQueryObjectivARB(UInt32 id, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetQueryObjectuivARB(UInt32 id, uint pname, [OutAttribute] UInt32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDeleteObjectARB(UInt32 obj);

		[DllImport("opengl32.dll")]
		internal static unsafe extern UInt32 glGetHandleARB(uint pname);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDetachObjectARB(UInt32 containerObj, UInt32 attachedObj);

		[DllImport("opengl32.dll")]
		internal static unsafe extern UInt32 glCreateShaderObjectARB(uint shaderType);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glShaderSourceARB(UInt32 shaderObj, Int32 count, IntPtr str, IntPtr length);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCompileShaderARB(UInt32 shaderObj);

		[DllImport("opengl32.dll")]
		internal static unsafe extern UInt32 glCreateProgramObjectARB();

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glAttachObjectARB(UInt32 containerObj, UInt32 obj);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glLinkProgramARB(UInt32 programObj);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUseProgramObjectARB(UInt32 programObj);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glValidateProgramARB(UInt32 programObj);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniform1fARB(Int32 location, float v0);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniform2fARB(Int32 location, float v0, float v1);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniform3fARB(Int32 location, float v0, float v1, float v2);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniform4fARB(Int32 location, float v0, float v1, float v2, float v3);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniform1iARB(Int32 location, Int32 v0);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniform2iARB(Int32 location, Int32 v0, Int32 v1);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniform3iARB(Int32 location, Int32 v0, Int32 v1, Int32 v2);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniform4iARB(Int32 location, Int32 v0, Int32 v1, Int32 v2, Int32 v3);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniform1fvARB(Int32 location, Int32 count, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniform2fvARB(Int32 location, Int32 count, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniform3fvARB(Int32 location, Int32 count, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniform4fvARB(Int32 location, Int32 count, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniform1ivARB(Int32 location, Int32 count, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniform2ivARB(Int32 location, Int32 count, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniform3ivARB(Int32 location, Int32 count, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniform4ivARB(Int32 location, Int32 count, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniformMatrix2fvARB(Int32 location, Int32 count, byte transpose, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniformMatrix3fvARB(Int32 location, Int32 count, byte transpose, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniformMatrix4fvARB(Int32 location, Int32 count, byte transpose, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetObjectParameterfvARB(UInt32 obj, uint pname, [OutAttribute] float* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetObjectParameterivARB(UInt32 obj, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetInfoLogARB(UInt32 obj, Int32 maxLength, [OutAttribute] Int32* length, [OutAttribute] byte* infoLog);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetAttachedObjectsARB(UInt32 containerObj, Int32 maxCount, [OutAttribute] Int32* count, [OutAttribute] UInt32* obj);

		[DllImport("opengl32.dll")]
		internal static unsafe extern Int32 glGetUniformLocationARB(UInt32 programObj, IntPtr name);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetActiveUniformARB(UInt32 programObj, UInt32 index, Int32 maxLength, [OutAttribute] Int32* length, [OutAttribute] Int32* size, [OutAttribute] uint* type, [OutAttribute] byte* name);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetUniformfvARB(UInt32 programObj, Int32 location, [OutAttribute] float* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetUniformivARB(UInt32 programObj, Int32 location, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetShaderSourceARB(UInt32 obj, Int32 maxLength, [OutAttribute] Int32* length, [OutAttribute] byte* source);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBindAttribLocationARB(UInt32 programObj, UInt32 index, IntPtr name);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetActiveAttribARB(UInt32 programObj, UInt32 index, Int32 maxLength, [OutAttribute] Int32* length, [OutAttribute] Int32* size, [OutAttribute] uint* type, [OutAttribute] byte* name);

		[DllImport("opengl32.dll")]
		internal static unsafe extern Int32 glGetAttribLocationARB(UInt32 programObj, IntPtr name);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDrawBuffersARB(Int32 n, IntPtr bufs);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glClampColorARB(uint target, uint clamp);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDrawArraysInstancedARB(uint mode, Int32 first, Int32 count, Int32 primcount);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDrawElementsInstancedARB(uint mode, Int32 count, uint type, IntPtr indices, Int32 primcount);

		[DllImport("opengl32.dll")]
		internal static unsafe extern byte glIsRenderbuffer(UInt32 renderbuffer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBindRenderbuffer(uint target, UInt32 renderbuffer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDeleteRenderbuffers(Int32 n, IntPtr renderbuffers);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGenRenderbuffers(Int32 n, [OutAttribute] UInt32* renderbuffers);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glRenderbufferStorage(uint target, uint internalformat, Int32 width, Int32 height);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetRenderbufferParameteriv(uint target, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern byte glIsFramebuffer(UInt32 framebuffer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBindFramebuffer(uint target, UInt32 framebuffer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDeleteFramebuffers(Int32 n, IntPtr framebuffers);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGenFramebuffers(Int32 n, [OutAttribute] UInt32* framebuffers);

		[DllImport("opengl32.dll")]
		internal static unsafe extern uint glCheckFramebufferStatus(uint target);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFramebufferTexture1D(uint target, uint attachment, uint textarget, UInt32 texture, Int32 level);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFramebufferTexture2D(uint target, uint attachment, uint textarget, UInt32 texture, Int32 level);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFramebufferTexture3D(uint target, uint attachment, uint textarget, UInt32 texture, Int32 level, Int32 zoffset);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFramebufferRenderbuffer(uint target, uint attachment, uint renderbuffertarget, UInt32 renderbuffer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetFramebufferAttachmentParameteriv(uint target, uint attachment, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGenerateMipmap(uint target);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBlitFramebuffer(Int32 srcX0, Int32 srcY0, Int32 srcX1, Int32 srcY1, Int32 dstX0, Int32 dstY0, Int32 dstX1, Int32 dstY1, UInt32 mask, uint filter);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glRenderbufferStorageMultisample(uint target, Int32 samples, uint internalformat, Int32 width, Int32 height);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFramebufferTextureLayer(uint target, uint attachment, UInt32 texture, Int32 level, Int32 layer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramParameteriARB(UInt32 program, uint pname, Int32 val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFramebufferTextureARB(uint target, uint attachment, UInt32 texture, Int32 level);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFramebufferTextureLayerARB(uint target, uint attachment, UInt32 texture, Int32 level, Int32 layer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFramebufferTextureFaceARB(uint target, uint attachment, UInt32 texture, Int32 level, uint face);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribDivisorARB(UInt32 index, UInt32 divisor);

		[DllImport("opengl32.dll")]
		internal static unsafe extern IntPtr glMapBufferRange(uint target, IntPtr offset, IntPtr length, UInt32 access);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFlushMappedBufferRange(uint target, IntPtr offset, IntPtr length);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexBufferARB(uint target, uint internalformat, UInt32 buffer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBindVertexArray(UInt32 array);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDeleteVertexArrays(Int32 n, IntPtr arrays);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGenVertexArrays(Int32 n, [OutAttribute] UInt32* arrays);

		[DllImport("opengl32.dll")]
		internal static unsafe extern byte glIsVertexArray(UInt32 array);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetUniformIndices(UInt32 program, Int32 uniformCount, IntPtr uniformNames, [OutAttribute] UInt32* uniformIndices);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetActiveUniformsiv(UInt32 program, Int32 uniformCount, IntPtr uniformIndices, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetActiveUniformName(UInt32 program, UInt32 uniformIndex, Int32 bufSize, [OutAttribute] Int32* length, [OutAttribute] byte* uniformName);

		[DllImport("opengl32.dll")]
		internal static unsafe extern UInt32 glGetUniformBlockIndex(UInt32 program, IntPtr uniformBlockName);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetActiveUniformBlockiv(UInt32 program, UInt32 uniformBlockIndex, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetActiveUniformBlockName(UInt32 program, UInt32 uniformBlockIndex, Int32 bufSize, [OutAttribute] Int32* length, [OutAttribute] byte* uniformBlockName);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniformBlockBinding(UInt32 program, UInt32 uniformBlockIndex, UInt32 uniformBlockBinding);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCopyBufferSubData(uint readTarget, uint writeTarget, IntPtr readOffset, IntPtr writeOffset, IntPtr size);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDrawElementsBaseVertex(uint mode, Int32 count, uint type, IntPtr indices, Int32 basevertex);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDrawRangeElementsBaseVertex(uint mode, UInt32 start, UInt32 end, Int32 count, uint type, IntPtr indices, Int32 basevertex);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDrawElementsInstancedBaseVertex(uint mode, Int32 count, uint type, IntPtr indices, Int32 primcount, Int32 basevertex);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiDrawElementsBaseVertex(uint mode, IntPtr count, uint type, IntPtr indices, Int32 primcount, IntPtr basevertex);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProvokingVertex(uint mode);

		[DllImport("opengl32.dll")]
		internal static unsafe extern IntPtr glFenceSync(uint condition, UInt32 flags);

		[DllImport("opengl32.dll")]
		internal static unsafe extern byte glIsSync(IntPtr sync);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDeleteSync(IntPtr sync);

		[DllImport("opengl32.dll")]
		internal static unsafe extern uint glClientWaitSync(IntPtr sync, UInt32 flags, UInt64 timeout);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWaitSync(IntPtr sync, UInt32 flags, UInt64 timeout);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetInteger64v(uint pname, [OutAttribute] Int64* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetSynciv(IntPtr sync, uint pname, Int32 bufSize, [OutAttribute] Int32* length, [OutAttribute] Int32* values);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexImage2DMultisample(uint target, Int32 samples, Int32 internalformat, Int32 width, Int32 height, byte fixedsamplelocations);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexImage3DMultisample(uint target, Int32 samples, Int32 internalformat, Int32 width, Int32 height, Int32 depth, byte fixedsamplelocations);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetMultisamplefv(uint pname, UInt32 index, [OutAttribute] float* val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSampleMaski(UInt32 index, UInt32 mask);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBlendEquationi(UInt32 buf, uint mode);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBlendEquationSeparatei(UInt32 buf, uint modeRGB, uint modeAlpha);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBlendFunci(UInt32 buf, uint src, uint dst);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBlendFuncSeparatei(UInt32 buf, uint srcRGB, uint dstRGB, uint srcAlpha, uint dstAlpha);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMinSampleShading(float val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNamedStringARB(uint type, Int32 namelen, IntPtr name, Int32 stringlen, IntPtr str);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDeleteNamedStringARB(Int32 namelen, IntPtr name);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCompileShaderIncludeARB(UInt32 shader, Int32 count, IntPtr path, IntPtr length);

		[DllImport("opengl32.dll")]
		internal static unsafe extern byte glIsNamedStringARB(Int32 namelen, IntPtr name);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetNamedStringARB(Int32 namelen, IntPtr name, Int32 bufSize, [OutAttribute] Int32* stringlen, [OutAttribute] byte* str);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetNamedStringivARB(Int32 namelen, IntPtr name, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBindFragDataLocationIndexed(UInt32 program, UInt32 colorNumber, UInt32 index, IntPtr name);

		[DllImport("opengl32.dll")]
		internal static unsafe extern Int32 glGetFragDataIndex(UInt32 program, IntPtr name);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGenSamplers(Int32 count, [OutAttribute] UInt32* samplers);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDeleteSamplers(Int32 count, IntPtr samplers);

		[DllImport("opengl32.dll")]
		internal static unsafe extern byte glIsSampler(UInt32 sampler);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBindSampler(UInt32 unit, UInt32 sampler);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSamplerParameteri(UInt32 sampler, uint pname, Int32 param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSamplerParameteriv(UInt32 sampler, uint pname, IntPtr param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSamplerParameterf(UInt32 sampler, uint pname, float param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSamplerParameterfv(UInt32 sampler, uint pname, IntPtr param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSamplerParameterIiv(UInt32 sampler, uint pname, IntPtr param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSamplerParameterIuiv(UInt32 sampler, uint pname, IntPtr param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetSamplerParameteriv(UInt32 sampler, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetSamplerParameterIiv(UInt32 sampler, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetSamplerParameterfv(UInt32 sampler, uint pname, [OutAttribute] float* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetSamplerParameterIfv(UInt32 sampler, uint pname, [OutAttribute] float* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glQueryCounter(UInt32 id, uint target);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetQueryObjecti64v(UInt32 id, uint pname, [OutAttribute] Int64* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetQueryObjectui64v(UInt32 id, uint pname, [OutAttribute] UInt64* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexP2ui(uint type, UInt32 val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexP2uiv(uint type, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexP3ui(uint type, UInt32 val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexP3uiv(uint type, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexP4ui(uint type, UInt32 val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexP4uiv(uint type, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoordP1ui(uint type, UInt32 coords);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoordP1uiv(uint type, IntPtr coords);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoordP2ui(uint type, UInt32 coords);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoordP2uiv(uint type, IntPtr coords);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoordP3ui(uint type, UInt32 coords);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoordP3uiv(uint type, IntPtr coords);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoordP4ui(uint type, UInt32 coords);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoordP4uiv(uint type, IntPtr coords);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoordP1ui(uint texture, uint type, UInt32 coords);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoordP1uiv(uint texture, uint type, IntPtr coords);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoordP2ui(uint texture, uint type, UInt32 coords);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoordP2uiv(uint texture, uint type, IntPtr coords);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoordP3ui(uint texture, uint type, UInt32 coords);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoordP3uiv(uint texture, uint type, IntPtr coords);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoordP4ui(uint texture, uint type, UInt32 coords);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoordP4uiv(uint texture, uint type, IntPtr coords);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNormalP3ui(uint type, UInt32 coords);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNormalP3uiv(uint type, IntPtr coords);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColorP3ui(uint type, UInt32 color);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColorP3uiv(uint type, IntPtr color);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColorP4ui(uint type, UInt32 color);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColorP4uiv(uint type, IntPtr color);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSecondaryColorP3ui(uint type, UInt32 color);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSecondaryColorP3uiv(uint type, IntPtr color);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribP1ui(UInt32 index, uint type, byte normalized, UInt32 val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribP1uiv(UInt32 index, uint type, byte normalized, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribP2ui(UInt32 index, uint type, byte normalized, UInt32 val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribP2uiv(UInt32 index, uint type, byte normalized, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribP3ui(UInt32 index, uint type, byte normalized, UInt32 val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribP3uiv(UInt32 index, uint type, byte normalized, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribP4ui(UInt32 index, uint type, byte normalized, UInt32 val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribP4uiv(UInt32 index, uint type, byte normalized, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDrawArraysIndirect(uint mode, IntPtr indirect);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDrawElementsIndirect(uint mode, uint type, IntPtr indirect);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniform1d(Int32 location, double x);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniform2d(Int32 location, double x, double y);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniform3d(Int32 location, double x, double y, double z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniform4d(Int32 location, double x, double y, double z, double w);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniform1dv(Int32 location, Int32 count, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniform2dv(Int32 location, Int32 count, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniform3dv(Int32 location, Int32 count, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniform4dv(Int32 location, Int32 count, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniformMatrix2dv(Int32 location, Int32 count, byte transpose, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniformMatrix3dv(Int32 location, Int32 count, byte transpose, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniformMatrix4dv(Int32 location, Int32 count, byte transpose, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniformMatrix2x3dv(Int32 location, Int32 count, byte transpose, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniformMatrix2x4dv(Int32 location, Int32 count, byte transpose, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniformMatrix3x2dv(Int32 location, Int32 count, byte transpose, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniformMatrix3x4dv(Int32 location, Int32 count, byte transpose, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniformMatrix4x2dv(Int32 location, Int32 count, byte transpose, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniformMatrix4x3dv(Int32 location, Int32 count, byte transpose, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetUniformdv(UInt32 program, Int32 location, [OutAttribute] double* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramUniform1dEXT(UInt32 program, Int32 location, double x);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramUniform2dEXT(UInt32 program, Int32 location, double x, double y);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramUniform3dEXT(UInt32 program, Int32 location, double x, double y, double z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramUniform4dEXT(UInt32 program, Int32 location, double x, double y, double z, double w);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramUniform1dvEXT(UInt32 program, Int32 location, Int32 count, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramUniform2dvEXT(UInt32 program, Int32 location, Int32 count, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramUniform3dvEXT(UInt32 program, Int32 location, Int32 count, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramUniform4dvEXT(UInt32 program, Int32 location, Int32 count, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramUniformMatrix2dvEXT(UInt32 program, Int32 location, Int32 count, byte transpose, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramUniformMatrix3dvEXT(UInt32 program, Int32 location, Int32 count, byte transpose, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramUniformMatrix4dvEXT(UInt32 program, Int32 location, Int32 count, byte transpose, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramUniformMatrix2x3dvEXT(UInt32 program, Int32 location, Int32 count, byte transpose, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramUniformMatrix2x4dvEXT(UInt32 program, Int32 location, Int32 count, byte transpose, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramUniformMatrix3x2dvEXT(UInt32 program, Int32 location, Int32 count, byte transpose, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramUniformMatrix3x4dvEXT(UInt32 program, Int32 location, Int32 count, byte transpose, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramUniformMatrix4x2dvEXT(UInt32 program, Int32 location, Int32 count, byte transpose, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramUniformMatrix4x3dvEXT(UInt32 program, Int32 location, Int32 count, byte transpose, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern Int32 glGetSubroutineUniformLocation(UInt32 program, uint shadertype, IntPtr name);

		[DllImport("opengl32.dll")]
		internal static unsafe extern UInt32 glGetSubroutineIndex(UInt32 program, uint shadertype, IntPtr name);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetActiveSubroutineUniformiv(UInt32 program, uint shadertype, UInt32 index, uint pname, [OutAttribute] Int32* values);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetActiveSubroutineUniformName(UInt32 program, uint shadertype, UInt32 index, Int32 bufsize, [OutAttribute] Int32* length, [OutAttribute] byte* name);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetActiveSubroutineName(UInt32 program, uint shadertype, UInt32 index, Int32 bufsize, [OutAttribute] Int32* length, [OutAttribute] byte* name);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniformSubroutinesuiv(uint shadertype, Int32 count, IntPtr indices);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetUniformSubroutineuiv(uint shadertype, Int32 location, [OutAttribute] UInt32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetProgramStageiv(UInt32 program, uint shadertype, uint pname, [OutAttribute] Int32* values);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPatchParameteri(uint pname, Int32 val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPatchParameterfv(uint pname, IntPtr values);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBindTransformFeedback(uint target, UInt32 id);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDeleteTransformFeedbacks(Int32 n, IntPtr ids);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGenTransformFeedbacks(Int32 n, [OutAttribute] UInt32* ids);

		[DllImport("opengl32.dll")]
		internal static unsafe extern byte glIsTransformFeedback(UInt32 id);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPauseTransformFeedback();

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glResumeTransformFeedback();

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDrawTransformFeedback(uint mode, UInt32 id);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDrawTransformFeedbackStream(uint mode, UInt32 id, UInt32 stream);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBeginQueryIndexed(uint target, UInt32 index, UInt32 id);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glEndQueryIndexed(uint target, UInt32 index);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetQueryIndexediv(uint target, UInt32 index, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBlendColorEXT(float red, float green, float blue, float alpha);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPolygonOffsetEXT(float factor, float bias);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexImage3DEXT(uint target, Int32 level, uint internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, uint format, uint type, IntPtr pixels);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexSubImage3DEXT(uint target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, uint format, uint type, IntPtr pixels);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetTexFilterFuncSGIS(uint target, uint filter, [OutAttribute] float* weights);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexFilterFuncSGIS(uint target, uint filter, Int32 n, IntPtr weights);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexSubImage1DEXT(uint target, Int32 level, Int32 xoffset, Int32 width, uint format, uint type, IntPtr pixels);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexSubImage2DEXT(uint target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, uint format, uint type, IntPtr pixels);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCopyTexImage1DEXT(uint target, Int32 level, uint internalformat, Int32 x, Int32 y, Int32 width, Int32 border);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCopyTexImage2DEXT(uint target, Int32 level, uint internalformat, Int32 x, Int32 y, Int32 width, Int32 height, Int32 border);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCopyTexSubImage1DEXT(uint target, Int32 level, Int32 xoffset, Int32 x, Int32 y, Int32 width);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCopyTexSubImage2DEXT(uint target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 x, Int32 y, Int32 width, Int32 height);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCopyTexSubImage3DEXT(uint target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 x, Int32 y, Int32 width, Int32 height);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetHistogramEXT(uint target, byte reset, uint format, uint type, [OutAttribute] IntPtr values);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetHistogramParameterfvEXT(uint target, uint pname, [OutAttribute] float* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetHistogramParameterivEXT(uint target, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetMinmaxEXT(uint target, byte reset, uint format, uint type, [OutAttribute] IntPtr values);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetMinmaxParameterfvEXT(uint target, uint pname, [OutAttribute] float* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetMinmaxParameterivEXT(uint target, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glHistogramEXT(uint target, Int32 width, uint internalformat, byte sink);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMinmaxEXT(uint target, uint internalformat, byte sink);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glResetHistogramEXT(uint target);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glResetMinmaxEXT(uint target);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glConvolutionFilter1DEXT(uint target, uint internalformat, Int32 width, uint format, uint type, IntPtr image);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glConvolutionFilter2DEXT(uint target, uint internalformat, Int32 width, Int32 height, uint format, uint type, IntPtr image);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glConvolutionParameterfEXT(uint target, uint pname, float parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glConvolutionParameterfvEXT(uint target, uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glConvolutionParameteriEXT(uint target, uint pname, Int32 parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glConvolutionParameterivEXT(uint target, uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCopyConvolutionFilter1DEXT(uint target, uint internalformat, Int32 x, Int32 y, Int32 width);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCopyConvolutionFilter2DEXT(uint target, uint internalformat, Int32 x, Int32 y, Int32 width, Int32 height);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetConvolutionFilterEXT(uint target, uint format, uint type, [OutAttribute] IntPtr image);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetConvolutionParameterfvEXT(uint target, uint pname, [OutAttribute] float* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetConvolutionParameterivEXT(uint target, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetSeparableFilterEXT(uint target, uint format, uint type, [OutAttribute] IntPtr row, [OutAttribute] IntPtr column, [OutAttribute] IntPtr span);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSeparableFilter2DEXT(uint target, uint internalformat, Int32 width, Int32 height, uint format, uint type, IntPtr row, IntPtr column);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColorTableSGI(uint target, uint internalformat, Int32 width, uint format, uint type, IntPtr table);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColorTableParameterfvSGI(uint target, uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColorTableParameterivSGI(uint target, uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCopyColorTableSGI(uint target, uint internalformat, Int32 x, Int32 y, Int32 width);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetColorTableSGI(uint target, uint format, uint type, [OutAttribute] IntPtr table);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetColorTableParameterfvSGI(uint target, uint pname, [OutAttribute] float* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetColorTableParameterivSGI(uint target, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPixelTexGenSGIX(uint mode);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPixelTexGenParameteriSGIS(uint pname, Int32 param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPixelTexGenParameterivSGIS(uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPixelTexGenParameterfSGIS(uint pname, float param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPixelTexGenParameterfvSGIS(uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetPixelTexGenParameterivSGIS(uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetPixelTexGenParameterfvSGIS(uint pname, [OutAttribute] float* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexImage4DSGIS(uint target, Int32 level, uint internalformat, Int32 width, Int32 height, Int32 depth, Int32 size4d, Int32 border, uint format, uint type, IntPtr pixels);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexSubImage4DSGIS(uint target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 woffset, Int32 width, Int32 height, Int32 depth, Int32 size4d, uint format, uint type, IntPtr pixels);

		[DllImport("opengl32.dll")]
		internal static unsafe extern byte glAreTexturesResidentEXT(Int32 n, IntPtr textures, [OutAttribute] byte* residences);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBindTextureEXT(uint target, UInt32 texture);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDeleteTexturesEXT(Int32 n, IntPtr textures);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGenTexturesEXT(Int32 n, [OutAttribute] UInt32* textures);

		[DllImport("opengl32.dll")]
		internal static unsafe extern byte glIsTextureEXT(UInt32 texture);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPrioritizeTexturesEXT(Int32 n, IntPtr textures, IntPtr priorities);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDetailTexFuncSGIS(uint target, Int32 n, IntPtr points);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetDetailTexFuncSGIS(uint target, [OutAttribute] float* points);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSharpenTexFuncSGIS(uint target, Int32 n, IntPtr points);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetSharpenTexFuncSGIS(uint target, [OutAttribute] float* points);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSampleMaskSGIS(float val, byte invert);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSamplePatternSGIS(uint pattern);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glArrayElementEXT(Int32 i);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColorPointerEXT(Int32 size, uint type, Int32 stride, Int32 count, IntPtr pointer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDrawArraysEXT(uint mode, Int32 first, Int32 count);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glEdgeFlagPointerEXT(Int32 stride, Int32 count, IntPtr pointer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetPointervEXT(uint pname, [OutAttribute] IntPtr* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glIndexPointerEXT(uint type, Int32 stride, Int32 count, IntPtr pointer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNormalPointerEXT(uint type, Int32 stride, Int32 count, IntPtr pointer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoordPointerEXT(Int32 size, uint type, Int32 stride, Int32 count, IntPtr pointer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexPointerEXT(Int32 size, uint type, Int32 stride, Int32 count, IntPtr pointer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBlendEquationEXT(uint mode);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSpriteParameterfSGIX(uint pname, float param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSpriteParameterfvSGIX(uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSpriteParameteriSGIX(uint pname, Int32 param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSpriteParameterivSGIX(uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPointParameterfEXT(uint pname, float param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPointParameterfvEXT(uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPointParameterfSGIS(uint pname, float param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPointParameterfvSGIS(uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern Int32 glGetInstrumentsSGIX();

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glInstrumentsBufferSGIX(Int32 size, [OutAttribute] Int32* buffer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern Int32 glPollInstrumentsSGIX([OutAttribute] Int32* marker_p);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glReadInstrumentsSGIX(Int32 marker);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glStartInstrumentsSGIX();

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glStopInstrumentsSGIX(Int32 marker);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFrameZoomSGIX(Int32 factor);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTagSampleBufferSGIX();

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDeformationMap3dSGIX(uint target, double u1, double u2, Int32 ustride, Int32 uorder, double v1, double v2, Int32 vstride, Int32 vorder, double w1, double w2, Int32 wstride, Int32 worder, IntPtr points);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDeformationMap3fSGIX(uint target, float u1, float u2, Int32 ustride, Int32 uorder, float v1, float v2, Int32 vstride, Int32 vorder, float w1, float w2, Int32 wstride, Int32 worder, IntPtr points);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDeformSGIX(UInt32 mask);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glLoadIdentityDeformationMapSGIX(UInt32 mask);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glReferencePlaneSGIX(IntPtr equation);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFlushRasterSGIX();

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFogFuncSGIS(Int32 n, IntPtr points);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetFogFuncSGIS([OutAttribute] float* points);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glImageTransformParameteriHP(uint target, uint pname, Int32 param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glImageTransformParameterfHP(uint target, uint pname, float param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glImageTransformParameterivHP(uint target, uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glImageTransformParameterfvHP(uint target, uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetImageTransformParameterivHP(uint target, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetImageTransformParameterfvHP(uint target, uint pname, [OutAttribute] float* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColorSubTableEXT(uint target, Int32 start, Int32 count, uint format, uint type, IntPtr data);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCopyColorSubTableEXT(uint target, Int32 start, Int32 x, Int32 y, Int32 width);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glHintPGI(uint target, Int32 mode);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColorTableEXT(uint target, uint internalFormat, Int32 width, uint format, uint type, IntPtr table);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetColorTableEXT(uint target, uint format, uint type, [OutAttribute] IntPtr data);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetColorTableParameterivEXT(uint target, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetColorTableParameterfvEXT(uint target, uint pname, [OutAttribute] float* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetListParameterfvSGIX(UInt32 list, uint pname, [OutAttribute] float* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetListParameterivSGIX(UInt32 list, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glListParameterfSGIX(UInt32 list, uint pname, float param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glListParameterfvSGIX(UInt32 list, uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glListParameteriSGIX(UInt32 list, uint pname, Int32 param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glListParameterivSGIX(UInt32 list, uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glIndexMaterialEXT(uint face, uint mode);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glIndexFuncEXT(uint func, float reference);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glLockArraysEXT(Int32 first, Int32 count);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUnlockArraysEXT();

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCullParameterdvEXT(uint pname, [OutAttribute] double* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCullParameterfvEXT(uint pname, [OutAttribute] float* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFragmentColorMaterialSGIX(uint face, uint mode);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFragmentLightfSGIX(uint light, uint pname, float param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFragmentLightfvSGIX(uint light, uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFragmentLightiSGIX(uint light, uint pname, Int32 param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFragmentLightivSGIX(uint light, uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFragmentLightModelfSGIX(uint pname, float param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFragmentLightModelfvSGIX(uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFragmentLightModeliSGIX(uint pname, Int32 param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFragmentLightModelivSGIX(uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFragmentMaterialfSGIX(uint face, uint pname, float param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFragmentMaterialfvSGIX(uint face, uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFragmentMaterialiSGIX(uint face, uint pname, Int32 param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFragmentMaterialivSGIX(uint face, uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetFragmentLightfvSGIX(uint light, uint pname, [OutAttribute] float* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetFragmentLightivSGIX(uint light, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetFragmentMaterialfvSGIX(uint face, uint pname, [OutAttribute] float* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetFragmentMaterialivSGIX(uint face, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glLightEnviSGIX(uint pname, Int32 param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDrawRangeElementsEXT(uint mode, UInt32 start, UInt32 end, Int32 count, uint type, IntPtr indices);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glApplyTextureEXT(uint mode);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTextureLightEXT(uint pname);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTextureMaterialEXT(uint face, uint mode);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glAsyncMarkerSGIX(UInt32 marker);

		[DllImport("opengl32.dll")]
		internal static unsafe extern Int32 glFinishAsyncSGIX([OutAttribute] UInt32* markerp);

		[DllImport("opengl32.dll")]
		internal static unsafe extern Int32 glPollAsyncSGIX([OutAttribute] UInt32* markerp);

		[DllImport("opengl32.dll")]
		internal static unsafe extern UInt32 glGenAsyncMarkersSGIX(Int32 range);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDeleteAsyncMarkersSGIX(UInt32 marker, Int32 range);

		[DllImport("opengl32.dll")]
		internal static unsafe extern byte glIsAsyncMarkerSGIX(UInt32 marker);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexPointervINTEL(Int32 size, uint type, IntPtr pointer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNormalPointervINTEL(uint type, IntPtr pointer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColorPointervINTEL(Int32 size, uint type, IntPtr pointer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoordPointervINTEL(Int32 size, uint type, IntPtr pointer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPixelTransformParameteriEXT(uint target, uint pname, Int32 param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPixelTransformParameterfEXT(uint target, uint pname, float param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPixelTransformParameterivEXT(uint target, uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPixelTransformParameterfvEXT(uint target, uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSecondaryColor3bEXT(SByte red, SByte green, SByte blue);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSecondaryColor3bvEXT(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSecondaryColor3dEXT(double red, double green, double blue);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSecondaryColor3dvEXT(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSecondaryColor3fEXT(float red, float green, float blue);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSecondaryColor3fvEXT(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSecondaryColor3iEXT(Int32 red, Int32 green, Int32 blue);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSecondaryColor3ivEXT(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSecondaryColor3sEXT(Int16 red, Int16 green, Int16 blue);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSecondaryColor3svEXT(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSecondaryColor3ubEXT(byte red, byte green, byte blue);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSecondaryColor3ubvEXT(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSecondaryColor3uiEXT(UInt32 red, UInt32 green, UInt32 blue);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSecondaryColor3uivEXT(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSecondaryColor3usEXT(UInt16 red, UInt16 green, UInt16 blue);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSecondaryColor3usvEXT(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSecondaryColorPointerEXT(Int32 size, uint type, Int32 stride, IntPtr pointer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTextureNormalEXT(uint mode);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiDrawArraysEXT(uint mode, [OutAttribute] Int32* first, [OutAttribute] Int32* count, Int32 primcount);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiDrawElementsEXT(uint mode, IntPtr count, uint type, IntPtr indices, Int32 primcount);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFogCoordfEXT(float coord);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFogCoordfvEXT(IntPtr coord);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFogCoorddEXT(double coord);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFogCoorddvEXT(IntPtr coord);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFogCoordPointerEXT(uint type, Int32 stride, IntPtr pointer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTangent3bEXT(SByte tx, SByte ty, SByte tz);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTangent3bvEXT(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTangent3dEXT(double tx, double ty, double tz);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTangent3dvEXT(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTangent3fEXT(float tx, float ty, float tz);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTangent3fvEXT(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTangent3iEXT(Int32 tx, Int32 ty, Int32 tz);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTangent3ivEXT(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTangent3sEXT(Int16 tx, Int16 ty, Int16 tz);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTangent3svEXT(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBinormal3bEXT(SByte bx, SByte by, SByte bz);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBinormal3bvEXT(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBinormal3dEXT(double bx, double by, double bz);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBinormal3dvEXT(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBinormal3fEXT(float bx, float by, float bz);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBinormal3fvEXT(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBinormal3iEXT(Int32 bx, Int32 by, Int32 bz);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBinormal3ivEXT(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBinormal3sEXT(Int16 bx, Int16 by, Int16 bz);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBinormal3svEXT(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTangentPointerEXT(uint type, Int32 stride, IntPtr pointer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBinormalPointerEXT(uint type, Int32 stride, IntPtr pointer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFinishTextureSUNX();

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGlobalAlphaFactorbSUN(SByte factor);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGlobalAlphaFactorsSUN(Int16 factor);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGlobalAlphaFactoriSUN(Int32 factor);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGlobalAlphaFactorfSUN(float factor);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGlobalAlphaFactordSUN(double factor);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGlobalAlphaFactorubSUN(byte factor);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGlobalAlphaFactorusSUN(UInt16 factor);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGlobalAlphaFactoruiSUN(UInt32 factor);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glReplacementCodeuiSUN(UInt32 code);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glReplacementCodeusSUN(UInt16 code);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glReplacementCodeubSUN(byte code);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glReplacementCodeuivSUN(IntPtr code);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glReplacementCodeusvSUN(IntPtr code);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glReplacementCodeubvSUN(IntPtr code);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glReplacementCodePointerSUN(uint type, Int32 stride, IntPtr pointer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColor4ubVertex2fSUN(byte r, byte g, byte b, byte a, float x, float y);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColor4ubVertex2fvSUN(IntPtr c, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColor4ubVertex3fSUN(byte r, byte g, byte b, byte a, float x, float y, float z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColor4ubVertex3fvSUN(IntPtr c, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColor3fVertex3fSUN(float r, float g, float b, float x, float y, float z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColor3fVertex3fvSUN(IntPtr c, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNormal3fVertex3fSUN(float nx, float ny, float nz, float x, float y, float z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNormal3fVertex3fvSUN(IntPtr n, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColor4fNormal3fVertex3fSUN(float r, float g, float b, float a, float nx, float ny, float nz, float x, float y, float z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColor4fNormal3fVertex3fvSUN(IntPtr c, IntPtr n, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoord2fVertex3fSUN(float s, float t, float x, float y, float z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoord2fVertex3fvSUN(IntPtr tc, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoord4fVertex4fSUN(float s, float t, float p, float q, float x, float y, float z, float w);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoord4fVertex4fvSUN(IntPtr tc, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoord2fColor4ubVertex3fSUN(float s, float t, byte r, byte g, byte b, byte a, float x, float y, float z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoord2fColor4ubVertex3fvSUN(IntPtr tc, IntPtr c, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoord2fColor3fVertex3fSUN(float s, float t, float r, float g, float b, float x, float y, float z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoord2fColor3fVertex3fvSUN(IntPtr tc, IntPtr c, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoord2fNormal3fVertex3fSUN(float s, float t, float nx, float ny, float nz, float x, float y, float z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoord2fNormal3fVertex3fvSUN(IntPtr tc, IntPtr n, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoord2fColor4fNormal3fVertex3fSUN(float s, float t, float r, float g, float b, float a, float nx, float ny, float nz, float x, float y, float z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr tc, IntPtr c, IntPtr n, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoord4fColor4fNormal3fVertex4fSUN(float s, float t, float p, float q, float r, float g, float b, float a, float nx, float ny, float nz, float x, float y, float z, float w);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoord4fColor4fNormal3fVertex4fvSUN(IntPtr tc, IntPtr c, IntPtr n, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glReplacementCodeuiVertex3fSUN(UInt32 rc, float x, float y, float z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glReplacementCodeuiVertex3fvSUN(IntPtr rc, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glReplacementCodeuiColor4ubVertex3fSUN(UInt32 rc, byte r, byte g, byte b, byte a, float x, float y, float z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glReplacementCodeuiColor4ubVertex3fvSUN(IntPtr rc, IntPtr c, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glReplacementCodeuiColor3fVertex3fSUN(UInt32 rc, float r, float g, float b, float x, float y, float z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glReplacementCodeuiColor3fVertex3fvSUN(IntPtr rc, IntPtr c, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glReplacementCodeuiNormal3fVertex3fSUN(UInt32 rc, float nx, float ny, float nz, float x, float y, float z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glReplacementCodeuiNormal3fVertex3fvSUN(IntPtr rc, IntPtr n, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glReplacementCodeuiColor4fNormal3fVertex3fSUN(UInt32 rc, float r, float g, float b, float a, float nx, float ny, float nz, float x, float y, float z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glReplacementCodeuiColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr c, IntPtr n, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glReplacementCodeuiTexCoord2fVertex3fSUN(UInt32 rc, float s, float t, float x, float y, float z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glReplacementCodeuiTexCoord2fVertex3fvSUN(IntPtr rc, IntPtr tc, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN(UInt32 rc, float s, float t, float nx, float ny, float nz, float x, float y, float z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, IntPtr n, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN(UInt32 rc, float s, float t, float r, float g, float b, float a, float nx, float ny, float nz, float x, float y, float z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN(IntPtr rc, IntPtr tc, IntPtr c, IntPtr n, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBlendFuncSeparateEXT(uint sfactorRGB, uint dfactorRGB, uint sfactorAlpha, uint dfactorAlpha);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBlendFuncSeparateINGR(uint sfactorRGB, uint dfactorRGB, uint sfactorAlpha, uint dfactorAlpha);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexWeightfEXT(float weight);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexWeightfvEXT(IntPtr weight);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexWeightPointerEXT(Int32 size, uint type, Int32 stride, IntPtr pointer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFlushVertexArrayRangeNV();

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexArrayRangeNV(Int32 length, IntPtr pointer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCombinerParameterfvNV(uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCombinerParameterfNV(uint pname, float param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCombinerParameterivNV(uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCombinerParameteriNV(uint pname, Int32 param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCombinerInputNV(uint stage, uint portion, uint variable, uint input, uint mapping, uint componentUsage);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCombinerOutputNV(uint stage, uint portion, uint abOutput, uint cdOutput, uint sumOutput, uint scale, uint bias, byte abDotProduct, byte cdDotProduct, byte muxSum);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFinalCombinerInputNV(uint variable, uint input, uint mapping, uint componentUsage);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetCombinerInputParameterfvNV(uint stage, uint portion, uint variable, uint pname, [OutAttribute] float* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetCombinerInputParameterivNV(uint stage, uint portion, uint variable, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetCombinerOutputParameterfvNV(uint stage, uint portion, uint pname, [OutAttribute] float* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetCombinerOutputParameterivNV(uint stage, uint portion, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetFinalCombinerInputParameterfvNV(uint variable, uint pname, [OutAttribute] float* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetFinalCombinerInputParameterivNV(uint variable, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glResizeBuffersMESA();

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWindowPos2dMESA(double x, double y);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWindowPos2dvMESA(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWindowPos2fMESA(float x, float y);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWindowPos2fvMESA(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWindowPos2iMESA(Int32 x, Int32 y);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWindowPos2ivMESA(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWindowPos2sMESA(Int16 x, Int16 y);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWindowPos2svMESA(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWindowPos3dMESA(double x, double y, double z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWindowPos3dvMESA(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWindowPos3fMESA(float x, float y, float z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWindowPos3fvMESA(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWindowPos3iMESA(Int32 x, Int32 y, Int32 z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWindowPos3ivMESA(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWindowPos3sMESA(Int16 x, Int16 y, Int16 z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWindowPos3svMESA(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWindowPos4dMESA(double x, double y, double z, double w);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWindowPos4dvMESA(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWindowPos4fMESA(float x, float y, float z, float w);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWindowPos4fvMESA(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWindowPos4iMESA(Int32 x, Int32 y, Int32 z, Int32 w);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWindowPos4ivMESA(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWindowPos4sMESA(Int16 x, Int16 y, Int16 z, Int16 w);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWindowPos4svMESA(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiModeDrawArraysIBM(IntPtr mode, IntPtr first, IntPtr count, Int32 primcount, Int32 modestride);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiModeDrawElementsIBM(IntPtr mode, IntPtr count, uint type, IntPtr indices, Int32 primcount, Int32 modestride);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColorPointerListIBM(Int32 size, uint type, Int32 stride, IntPtr pointer, Int32 ptrstride);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSecondaryColorPointerListIBM(Int32 size, uint type, Int32 stride, IntPtr pointer, Int32 ptrstride);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glEdgeFlagPointerListIBM(Int32 stride, IntPtr pointer, Int32 ptrstride);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFogCoordPointerListIBM(uint type, Int32 stride, IntPtr pointer, Int32 ptrstride);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glIndexPointerListIBM(uint type, Int32 stride, IntPtr pointer, Int32 ptrstride);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNormalPointerListIBM(uint type, Int32 stride, IntPtr pointer, Int32 ptrstride);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoordPointerListIBM(Int32 size, uint type, Int32 stride, IntPtr pointer, Int32 ptrstride);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexPointerListIBM(Int32 size, uint type, Int32 stride, IntPtr pointer, Int32 ptrstride);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTbufferMask3DFX(UInt32 mask);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSampleMaskEXT(float val, byte invert);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSamplePatternEXT(uint pattern);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTextureColorMaskSGIS(byte red, byte green, byte blue, byte alpha);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glIglooInterfaceSGIX(uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDeleteFencesNV(Int32 n, IntPtr fences);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGenFencesNV(Int32 n, [OutAttribute] UInt32* fences);

		[DllImport("opengl32.dll")]
		internal static unsafe extern byte glIsFenceNV(UInt32 fence);

		[DllImport("opengl32.dll")]
		internal static unsafe extern byte glTestFenceNV(UInt32 fence);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetFenceivNV(UInt32 fence, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFinishFenceNV(UInt32 fence);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSetFenceNV(UInt32 fence, uint condition);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMapControlPointsNV(uint target, UInt32 index, uint type, Int32 ustride, Int32 vstride, Int32 uorder, Int32 vorder, byte packed, IntPtr points);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMapParameterivNV(uint target, uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMapParameterfvNV(uint target, uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetMapControlPointsNV(uint target, UInt32 index, uint type, Int32 ustride, Int32 vstride, byte packed, [OutAttribute] IntPtr points);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetMapParameterivNV(uint target, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetMapParameterfvNV(uint target, uint pname, [OutAttribute] float* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetMapAttribParameterivNV(uint target, UInt32 index, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetMapAttribParameterfvNV(uint target, UInt32 index, uint pname, [OutAttribute] float* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glEvalMapsNV(uint target, uint mode);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCombinerStageParameterfvNV(uint stage, uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetCombinerStageParameterfvNV(uint stage, uint pname, [OutAttribute] float* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern byte glAreProgramsResidentNV(Int32 n, IntPtr programs, [OutAttribute] byte* residences);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBindProgramNV(uint target, UInt32 id);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDeleteProgramsNV(Int32 n, IntPtr programs);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glExecuteProgramNV(uint target, UInt32 id, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGenProgramsNV(Int32 n, [OutAttribute] UInt32* programs);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetProgramParameterdvNV(uint target, UInt32 index, uint pname, [OutAttribute] double* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetProgramParameterfvNV(uint target, UInt32 index, uint pname, [OutAttribute] float* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetProgramivNV(UInt32 id, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetProgramStringNV(UInt32 id, uint pname, [OutAttribute] byte* program);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetTrackMatrixivNV(uint target, UInt32 address, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetVertexAttribdvNV(UInt32 index, uint pname, [OutAttribute] double* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetVertexAttribfvNV(UInt32 index, uint pname, [OutAttribute] float* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetVertexAttribivNV(UInt32 index, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetVertexAttribPointervNV(UInt32 index, uint pname, [OutAttribute] IntPtr* pointer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern byte glIsProgramNV(UInt32 id);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glLoadProgramNV(uint target, UInt32 id, Int32 len, IntPtr program);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramParameter4dNV(uint target, UInt32 index, double x, double y, double z, double w);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramParameter4dvNV(uint target, UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramParameter4fNV(uint target, UInt32 index, float x, float y, float z, float w);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramParameter4fvNV(uint target, UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramParameters4dvNV(uint target, UInt32 index, UInt32 count, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramParameters4fvNV(uint target, UInt32 index, UInt32 count, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glRequestResidentProgramsNV(Int32 n, IntPtr programs);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTrackMatrixNV(uint target, UInt32 address, uint matrix, uint transform);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribPointerNV(UInt32 index, Int32 fsize, uint type, Int32 stride, IntPtr pointer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib1dNV(UInt32 index, double x);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib1dvNV(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib1fNV(UInt32 index, float x);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib1fvNV(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib1sNV(UInt32 index, Int16 x);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib1svNV(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib2dNV(UInt32 index, double x, double y);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib2dvNV(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib2fNV(UInt32 index, float x, float y);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib2fvNV(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib2sNV(UInt32 index, Int16 x, Int16 y);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib2svNV(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib3dNV(UInt32 index, double x, double y, double z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib3dvNV(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib3fNV(UInt32 index, float x, float y, float z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib3fvNV(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib3sNV(UInt32 index, Int16 x, Int16 y, Int16 z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib3svNV(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib4dNV(UInt32 index, double x, double y, double z, double w);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib4dvNV(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib4fNV(UInt32 index, float x, float y, float z, float w);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib4fvNV(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib4sNV(UInt32 index, Int16 x, Int16 y, Int16 z, Int16 w);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib4svNV(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib4ubNV(UInt32 index, byte x, byte y, byte z, byte w);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib4ubvNV(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribs1dvNV(UInt32 index, Int32 count, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribs1fvNV(UInt32 index, Int32 count, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribs1svNV(UInt32 index, Int32 count, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribs2dvNV(UInt32 index, Int32 count, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribs2fvNV(UInt32 index, Int32 count, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribs2svNV(UInt32 index, Int32 count, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribs3dvNV(UInt32 index, Int32 count, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribs3fvNV(UInt32 index, Int32 count, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribs3svNV(UInt32 index, Int32 count, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribs4dvNV(UInt32 index, Int32 count, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribs4fvNV(UInt32 index, Int32 count, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribs4svNV(UInt32 index, Int32 count, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribs4ubvNV(UInt32 index, Int32 count, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexBumpParameterivATI(uint pname, IntPtr param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexBumpParameterfvATI(uint pname, IntPtr param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetTexBumpParameterivATI(uint pname, [OutAttribute] Int32* param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetTexBumpParameterfvATI(uint pname, [OutAttribute] float* param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern UInt32 glGenFragmentShadersATI(UInt32 range);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBindFragmentShaderATI(UInt32 id);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDeleteFragmentShaderATI(UInt32 id);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBeginFragmentShaderATI();

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glEndFragmentShaderATI();

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPassTexCoordATI(UInt32 dst, UInt32 coord, uint swizzle);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSampleMapATI(UInt32 dst, UInt32 interp, uint swizzle);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColorFragmentOp1ATI(uint op, UInt32 dst, UInt32 dstMask, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColorFragmentOp2ATI(uint op, UInt32 dst, UInt32 dstMask, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod, UInt32 arg2, UInt32 arg2Rep, UInt32 arg2Mod);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColorFragmentOp3ATI(uint op, UInt32 dst, UInt32 dstMask, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod, UInt32 arg2, UInt32 arg2Rep, UInt32 arg2Mod, UInt32 arg3, UInt32 arg3Rep, UInt32 arg3Mod);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glAlphaFragmentOp1ATI(uint op, UInt32 dst, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glAlphaFragmentOp2ATI(uint op, UInt32 dst, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod, UInt32 arg2, UInt32 arg2Rep, UInt32 arg2Mod);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glAlphaFragmentOp3ATI(uint op, UInt32 dst, UInt32 dstMod, UInt32 arg1, UInt32 arg1Rep, UInt32 arg1Mod, UInt32 arg2, UInt32 arg2Rep, UInt32 arg2Mod, UInt32 arg3, UInt32 arg3Rep, UInt32 arg3Mod);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSetFragmentShaderConstantATI(UInt32 dst, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPNTrianglesiATI(uint pname, Int32 param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPNTrianglesfATI(uint pname, float param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern UInt32 glNewObjectBufferATI(Int32 size, IntPtr pointer, uint usage);

		[DllImport("opengl32.dll")]
		internal static unsafe extern byte glIsObjectBufferATI(UInt32 buffer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUpdateObjectBufferATI(UInt32 buffer, UInt32 offset, Int32 size, IntPtr pointer, uint preserve);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetObjectBufferfvATI(UInt32 buffer, uint pname, [OutAttribute] float* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetObjectBufferivATI(UInt32 buffer, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFreeObjectBufferATI(UInt32 buffer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glArrayObjectATI(uint array, Int32 size, uint type, Int32 stride, UInt32 buffer, UInt32 offset);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetArrayObjectfvATI(uint array, uint pname, [OutAttribute] float* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetArrayObjectivATI(uint array, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVariantArrayObjectATI(UInt32 id, uint type, Int32 stride, UInt32 buffer, UInt32 offset);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetVariantArrayObjectfvATI(UInt32 id, uint pname, [OutAttribute] float* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetVariantArrayObjectivATI(UInt32 id, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBeginVertexShaderEXT();

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glEndVertexShaderEXT();

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBindVertexShaderEXT(UInt32 id);

		[DllImport("opengl32.dll")]
		internal static unsafe extern UInt32 glGenVertexShadersEXT(UInt32 range);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDeleteVertexShaderEXT(UInt32 id);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glShaderOp1EXT(uint op, UInt32 res, UInt32 arg1);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glShaderOp2EXT(uint op, UInt32 res, UInt32 arg1, UInt32 arg2);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glShaderOp3EXT(uint op, UInt32 res, UInt32 arg1, UInt32 arg2, UInt32 arg3);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSwizzleEXT(UInt32 res, UInt32 input, uint outX, uint outY, uint outZ, uint outW);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glWriteMaskEXT(UInt32 res, UInt32 input, uint outX, uint outY, uint outZ, uint outW);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glInsertComponentEXT(UInt32 res, UInt32 src, UInt32 num);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glExtractComponentEXT(UInt32 res, UInt32 src, UInt32 num);

		[DllImport("opengl32.dll")]
		internal static unsafe extern UInt32 glGenSymbolsEXT(uint datatype, uint storagetype, uint range, UInt32 components);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSetInvariantEXT(UInt32 id, uint type, IntPtr addr);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSetLocalConstantEXT(UInt32 id, uint type, IntPtr addr);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVariantbvEXT(UInt32 id, IntPtr addr);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVariantsvEXT(UInt32 id, IntPtr addr);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVariantivEXT(UInt32 id, IntPtr addr);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVariantfvEXT(UInt32 id, IntPtr addr);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVariantdvEXT(UInt32 id, IntPtr addr);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVariantubvEXT(UInt32 id, IntPtr addr);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVariantusvEXT(UInt32 id, IntPtr addr);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVariantuivEXT(UInt32 id, IntPtr addr);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVariantPointerEXT(UInt32 id, uint type, UInt32 stride, IntPtr addr);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glEnableVariantClientStateEXT(UInt32 id);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDisableVariantClientStateEXT(UInt32 id);

		[DllImport("opengl32.dll")]
		internal static unsafe extern UInt32 glBindLightParameterEXT(uint light, uint val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern UInt32 glBindMaterialParameterEXT(uint face, uint val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern UInt32 glBindTexGenParameterEXT(uint unit, uint coord, uint val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern UInt32 glBindTextureUnitParameterEXT(uint unit, uint val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern UInt32 glBindParameterEXT(uint val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern byte glIsVariantEnabledEXT(UInt32 id, uint cap);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetVariantBooleanvEXT(UInt32 id, uint val, [OutAttribute] byte* data);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetVariantIntegervEXT(UInt32 id, uint val, [OutAttribute] Int32* data);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetVariantFloatvEXT(UInt32 id, uint val, [OutAttribute] float* data);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetVariantPointervEXT(UInt32 id, uint val, [OutAttribute] IntPtr* data);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetInvariantBooleanvEXT(UInt32 id, uint val, [OutAttribute] byte* data);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetInvariantIntegervEXT(UInt32 id, uint val, [OutAttribute] Int32* data);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetInvariantFloatvEXT(UInt32 id, uint val, [OutAttribute] float* data);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetLocalConstantBooleanvEXT(UInt32 id, uint val, [OutAttribute] byte* data);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetLocalConstantIntegervEXT(UInt32 id, uint val, [OutAttribute] Int32* data);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetLocalConstantFloatvEXT(UInt32 id, uint val, [OutAttribute] float* data);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexStream1sATI(uint stream, Int16 x);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexStream1svATI(uint stream, IntPtr coords);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexStream1iATI(uint stream, Int32 x);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexStream1ivATI(uint stream, IntPtr coords);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexStream1fATI(uint stream, float x);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexStream1fvATI(uint stream, IntPtr coords);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexStream1dATI(uint stream, double x);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexStream1dvATI(uint stream, IntPtr coords);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexStream2sATI(uint stream, Int16 x, Int16 y);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexStream2svATI(uint stream, IntPtr coords);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexStream2iATI(uint stream, Int32 x, Int32 y);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexStream2ivATI(uint stream, IntPtr coords);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexStream2fATI(uint stream, float x, float y);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexStream2fvATI(uint stream, IntPtr coords);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexStream2dATI(uint stream, double x, double y);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexStream2dvATI(uint stream, IntPtr coords);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexStream3sATI(uint stream, Int16 x, Int16 y, Int16 z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexStream3svATI(uint stream, IntPtr coords);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexStream3iATI(uint stream, Int32 x, Int32 y, Int32 z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexStream3ivATI(uint stream, IntPtr coords);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexStream3fATI(uint stream, float x, float y, float z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexStream3fvATI(uint stream, IntPtr coords);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexStream3dATI(uint stream, double x, double y, double z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexStream3dvATI(uint stream, IntPtr coords);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexStream4sATI(uint stream, Int16 x, Int16 y, Int16 z, Int16 w);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexStream4svATI(uint stream, IntPtr coords);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexStream4iATI(uint stream, Int32 x, Int32 y, Int32 z, Int32 w);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexStream4ivATI(uint stream, IntPtr coords);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexStream4fATI(uint stream, float x, float y, float z, float w);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexStream4fvATI(uint stream, IntPtr coords);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexStream4dATI(uint stream, double x, double y, double z, double w);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexStream4dvATI(uint stream, IntPtr coords);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNormalStream3bATI(uint stream, SByte nx, SByte ny, SByte nz);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNormalStream3bvATI(uint stream, IntPtr coords);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNormalStream3sATI(uint stream, Int16 nx, Int16 ny, Int16 nz);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNormalStream3svATI(uint stream, IntPtr coords);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNormalStream3iATI(uint stream, Int32 nx, Int32 ny, Int32 nz);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNormalStream3ivATI(uint stream, IntPtr coords);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNormalStream3fATI(uint stream, float nx, float ny, float nz);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNormalStream3fvATI(uint stream, IntPtr coords);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNormalStream3dATI(uint stream, double nx, double ny, double nz);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNormalStream3dvATI(uint stream, IntPtr coords);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glClientActiveVertexStreamATI(uint stream);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexBlendEnviATI(uint pname, Int32 param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexBlendEnvfATI(uint pname, float param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glElementPointerATI(uint type, IntPtr pointer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDrawElementArrayATI(uint mode, Int32 count);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDrawRangeElementArrayATI(uint mode, UInt32 start, UInt32 end, Int32 count);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDrawMeshArraysSUN(uint mode, Int32 first, Int32 count, Int32 width);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGenOcclusionQueriesNV(Int32 n, [OutAttribute] UInt32* ids);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDeleteOcclusionQueriesNV(Int32 n, IntPtr ids);

		[DllImport("opengl32.dll")]
		internal static unsafe extern byte glIsOcclusionQueryNV(UInt32 id);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBeginOcclusionQueryNV(UInt32 id);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glEndOcclusionQueryNV();

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetOcclusionQueryivNV(UInt32 id, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetOcclusionQueryuivNV(UInt32 id, uint pname, [OutAttribute] UInt32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPointParameteriNV(uint pname, Int32 param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPointParameterivNV(uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glActiveStencilFaceEXT(uint face);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glElementPointerAPPLE(uint type, IntPtr pointer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDrawElementArrayAPPLE(uint mode, Int32 first, Int32 count);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDrawRangeElementArrayAPPLE(uint mode, UInt32 start, UInt32 end, Int32 first, Int32 count);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiDrawElementArrayAPPLE(uint mode, IntPtr first, IntPtr count, Int32 primcount);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiDrawRangeElementArrayAPPLE(uint mode, UInt32 start, UInt32 end, IntPtr first, IntPtr count, Int32 primcount);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGenFencesAPPLE(Int32 n, [OutAttribute] UInt32* fences);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDeleteFencesAPPLE(Int32 n, IntPtr fences);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSetFenceAPPLE(UInt32 fence);

		[DllImport("opengl32.dll")]
		internal static unsafe extern byte glIsFenceAPPLE(UInt32 fence);

		[DllImport("opengl32.dll")]
		internal static unsafe extern byte glTestFenceAPPLE(UInt32 fence);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFinishFenceAPPLE(UInt32 fence);

		[DllImport("opengl32.dll")]
		internal static unsafe extern byte glTestObjectAPPLE(uint obj, UInt32 name);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFinishObjectAPPLE(uint obj, Int32 name);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBindVertexArrayAPPLE(UInt32 array);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDeleteVertexArraysAPPLE(Int32 n, IntPtr arrays);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGenVertexArraysAPPLE(Int32 n, [OutAttribute] UInt32* arrays);

		[DllImport("opengl32.dll")]
		internal static unsafe extern byte glIsVertexArrayAPPLE(UInt32 array);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexArrayRangeAPPLE(Int32 length, [OutAttribute] IntPtr pointer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFlushVertexArrayRangeAPPLE(Int32 length, [OutAttribute] IntPtr pointer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexArrayParameteriAPPLE(uint pname, Int32 param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDrawBuffersATI(Int32 n, IntPtr bufs);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramNamedParameter4fNV(UInt32 id, Int32 len, IntPtr name, float x, float y, float z, float w);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramNamedParameter4dNV(UInt32 id, Int32 len, IntPtr name, double x, double y, double z, double w);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramNamedParameter4fvNV(UInt32 id, Int32 len, IntPtr name, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramNamedParameter4dvNV(UInt32 id, Int32 len, IntPtr name, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetProgramNamedParameterfvNV(UInt32 id, Int32 len, IntPtr name, [OutAttribute] float* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetProgramNamedParameterdvNV(UInt32 id, Int32 len, IntPtr name, [OutAttribute] double* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertex2hvNV(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertex3hvNV(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertex4hvNV(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNormal3hvNV(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColor3hvNV(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColor4hvNV(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoord1hvNV(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoord2hvNV(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoord3hvNV(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoord4hvNV(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord1hvNV(uint target, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord2hvNV(uint target, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord3hvNV(uint target, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoord4hvNV(uint target, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFogCoordhvNV(IntPtr fog);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSecondaryColor3hvNV(IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexWeighthvNV(IntPtr weight);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib1hvNV(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib2hvNV(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib3hvNV(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttrib4hvNV(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribs1hvNV(UInt32 index, Int32 n, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribs2hvNV(UInt32 index, Int32 n, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribs3hvNV(UInt32 index, Int32 n, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribs4hvNV(UInt32 index, Int32 n, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPixelDataRangeNV(uint target, Int32 length, [OutAttribute] IntPtr pointer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFlushPixelDataRangeNV(uint target);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPrimitiveRestartNV();

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPrimitiveRestartIndexNV(UInt32 index);

		[DllImport("opengl32.dll")]
		internal static unsafe extern IntPtr glMapObjectBufferATI(UInt32 buffer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUnmapObjectBufferATI(UInt32 buffer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glStencilOpSeparateATI(uint face, uint sfail, uint dpfail, uint dppass);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glStencilFuncSeparateATI(uint frontfunc, uint backfunc, Int32 reference, UInt32 mask);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribArrayObjectATI(UInt32 index, Int32 size, uint type, byte normalized, Int32 stride, UInt32 buffer, UInt32 offset);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetVertexAttribArrayObjectfvATI(UInt32 index, uint pname, [OutAttribute] float* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetVertexAttribArrayObjectivATI(UInt32 index, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDepthBoundsEXT(double zmin, double zmax);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBlendEquationSeparateEXT(uint modeRGB, uint modeAlpha);

		[DllImport("opengl32.dll")]
		internal static unsafe extern byte glIsRenderbufferEXT(UInt32 renderbuffer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBindRenderbufferEXT(uint target, UInt32 renderbuffer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDeleteRenderbuffersEXT(Int32 n, IntPtr renderbuffers);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGenRenderbuffersEXT(Int32 n, [OutAttribute] UInt32* renderbuffers);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glRenderbufferStorageEXT(uint target, uint internalformat, Int32 width, Int32 height);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetRenderbufferParameterivEXT(uint target, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern byte glIsFramebufferEXT(UInt32 framebuffer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBindFramebufferEXT(uint target, UInt32 framebuffer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDeleteFramebuffersEXT(Int32 n, IntPtr framebuffers);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGenFramebuffersEXT(Int32 n, [OutAttribute] UInt32* framebuffers);

		[DllImport("opengl32.dll")]
		internal static unsafe extern uint glCheckFramebufferStatusEXT(uint target);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFramebufferTexture1DEXT(uint target, uint attachment, uint textarget, UInt32 texture, Int32 level);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFramebufferTexture2DEXT(uint target, uint attachment, uint textarget, UInt32 texture, Int32 level);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFramebufferTexture3DEXT(uint target, uint attachment, uint textarget, UInt32 texture, Int32 level, Int32 zoffset);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFramebufferRenderbufferEXT(uint target, uint attachment, uint renderbuffertarget, UInt32 renderbuffer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetFramebufferAttachmentParameterivEXT(uint target, uint attachment, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGenerateMipmapEXT(uint target);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glStringMarkerGREMEDY(Int32 len, IntPtr str);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glStencilClearTagEXT(Int32 stencilTagBits, UInt32 stencilClearTag);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBlitFramebufferEXT(Int32 srcX0, Int32 srcY0, Int32 srcX1, Int32 srcY1, Int32 dstX0, Int32 dstY0, Int32 dstX1, Int32 dstY1, UInt32 mask, uint filter);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glRenderbufferStorageMultisampleEXT(uint target, Int32 samples, uint internalformat, Int32 width, Int32 height);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetQueryObjecti64vEXT(UInt32 id, uint pname, [OutAttribute] Int64* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetQueryObjectui64vEXT(UInt32 id, uint pname, [OutAttribute] UInt64* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramEnvParameters4fvEXT(uint target, UInt32 index, Int32 count, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramLocalParameters4fvEXT(uint target, UInt32 index, Int32 count, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBufferParameteriAPPLE(uint target, uint pname, Int32 param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFlushMappedBufferRangeAPPLE(uint target, IntPtr offset, IntPtr size);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramLocalParameterI4iNV(uint target, UInt32 index, Int32 x, Int32 y, Int32 z, Int32 w);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramLocalParameterI4ivNV(uint target, UInt32 index, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramLocalParametersI4ivNV(uint target, UInt32 index, Int32 count, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramLocalParameterI4uiNV(uint target, UInt32 index, UInt32 x, UInt32 y, UInt32 z, UInt32 w);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramLocalParameterI4uivNV(uint target, UInt32 index, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramLocalParametersI4uivNV(uint target, UInt32 index, Int32 count, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramEnvParameterI4iNV(uint target, UInt32 index, Int32 x, Int32 y, Int32 z, Int32 w);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramEnvParameterI4ivNV(uint target, UInt32 index, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramEnvParametersI4ivNV(uint target, UInt32 index, Int32 count, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramEnvParameterI4uiNV(uint target, UInt32 index, UInt32 x, UInt32 y, UInt32 z, UInt32 w);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramEnvParameterI4uivNV(uint target, UInt32 index, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramEnvParametersI4uivNV(uint target, UInt32 index, Int32 count, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetProgramLocalParameterIivNV(uint target, UInt32 index, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetProgramLocalParameterIuivNV(uint target, UInt32 index, [OutAttribute] UInt32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetProgramEnvParameterIivNV(uint target, UInt32 index, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetProgramEnvParameterIuivNV(uint target, UInt32 index, [OutAttribute] UInt32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramVertexLimitNV(uint target, Int32 limit);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFramebufferTextureEXT(uint target, uint attachment, UInt32 texture, Int32 level);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFramebufferTextureLayerEXT(uint target, uint attachment, UInt32 texture, Int32 level, Int32 layer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFramebufferTextureFaceEXT(uint target, uint attachment, UInt32 texture, Int32 level, uint face);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramParameteriEXT(UInt32 program, uint pname, Int32 val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribI1iEXT(UInt32 index, Int32 x);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribI2iEXT(UInt32 index, Int32 x, Int32 y);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribI3iEXT(UInt32 index, Int32 x, Int32 y, Int32 z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribI4iEXT(UInt32 index, Int32 x, Int32 y, Int32 z, Int32 w);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribI1uiEXT(UInt32 index, UInt32 x);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribI2uiEXT(UInt32 index, UInt32 x, UInt32 y);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribI3uiEXT(UInt32 index, UInt32 x, UInt32 y, UInt32 z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribI4uiEXT(UInt32 index, UInt32 x, UInt32 y, UInt32 z, UInt32 w);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribI1ivEXT(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribI2ivEXT(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribI3ivEXT(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribI4ivEXT(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribI1uivEXT(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribI2uivEXT(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribI3uivEXT(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribI4uivEXT(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribI4bvEXT(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribI4svEXT(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribI4ubvEXT(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribI4usvEXT(UInt32 index, IntPtr v);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribIPointerEXT(UInt32 index, Int32 size, uint type, Int32 stride, IntPtr pointer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetVertexAttribIivEXT(UInt32 index, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetVertexAttribIuivEXT(UInt32 index, uint pname, [OutAttribute] UInt32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetUniformuivEXT(UInt32 program, Int32 location, [OutAttribute] UInt32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBindFragDataLocationEXT(UInt32 program, UInt32 color, IntPtr name);

		[DllImport("opengl32.dll")]
		internal static unsafe extern Int32 glGetFragDataLocationEXT(UInt32 program, IntPtr name);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniform1uiEXT(Int32 location, UInt32 v0);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniform2uiEXT(Int32 location, UInt32 v0, UInt32 v1);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniform3uiEXT(Int32 location, UInt32 v0, UInt32 v1, UInt32 v2);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniform4uiEXT(Int32 location, UInt32 v0, UInt32 v1, UInt32 v2, UInt32 v3);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniform1uivEXT(Int32 location, Int32 count, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniform2uivEXT(Int32 location, Int32 count, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniform3uivEXT(Int32 location, Int32 count, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniform4uivEXT(Int32 location, Int32 count, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDrawArraysInstancedEXT(uint mode, Int32 start, Int32 count, Int32 primcount);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDrawElementsInstancedEXT(uint mode, Int32 count, uint type, IntPtr indices, Int32 primcount);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexBufferEXT(uint target, uint internalformat, UInt32 buffer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDepthRangedNV(double zNear, double zFar);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glClearDepthdNV(double depth);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDepthBoundsdNV(double zmin, double zmax);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glRenderbufferStorageMultisampleCoverageNV(uint target, Int32 coverageSamples, Int32 colorSamples, uint internalformat, Int32 width, Int32 height);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramBufferParametersfvNV(uint target, UInt32 buffer, UInt32 index, Int32 count, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramBufferParametersIivNV(uint target, UInt32 buffer, UInt32 index, Int32 count, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramBufferParametersIuivNV(uint target, UInt32 buffer, UInt32 index, Int32 count, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColorMaskIndexedEXT(UInt32 index, byte r, byte g, byte b, byte a);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetBooleanIndexedvEXT(uint target, UInt32 index, [OutAttribute] byte* data);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetIntegerIndexedvEXT(uint target, UInt32 index, [OutAttribute] Int32* data);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glEnableIndexedEXT(uint target, UInt32 index);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDisableIndexedEXT(uint target, UInt32 index);

		[DllImport("opengl32.dll")]
		internal static unsafe extern byte glIsEnabledIndexedEXT(uint target, UInt32 index);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBeginTransformFeedbackNV(uint primitiveMode);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glEndTransformFeedbackNV();

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTransformFeedbackAttribsNV(UInt32 count, IntPtr attribs, uint bufferMode);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBindBufferRangeNV(uint target, UInt32 index, UInt32 buffer, IntPtr offset, IntPtr size);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBindBufferOffsetNV(uint target, UInt32 index, UInt32 buffer, IntPtr offset);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBindBufferBaseNV(uint target, UInt32 index, UInt32 buffer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTransformFeedbackVaryingsNV(UInt32 program, Int32 count, IntPtr varyings, uint bufferMode);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glActiveVaryingNV(UInt32 program, IntPtr name);

		[DllImport("opengl32.dll")]
		internal static unsafe extern Int32 glGetVaryingLocationNV(UInt32 program, IntPtr name);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetActiveVaryingNV(UInt32 program, UInt32 index, Int32 bufSize, [OutAttribute] Int32* length, [OutAttribute] Int32* size, [OutAttribute] uint* type, [OutAttribute] byte* name);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetTransformFeedbackVaryingNV(UInt32 program, UInt32 index, [OutAttribute] Int32* location);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniformBufferEXT(UInt32 program, Int32 location, UInt32 buffer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern Int32 glGetUniformBufferSizeEXT(UInt32 program, Int32 location);

		[DllImport("opengl32.dll")]
		internal static unsafe extern IntPtr glGetUniformOffsetEXT(UInt32 program, Int32 location);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexParameterIivEXT(uint target, uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexParameterIuivEXT(uint target, uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetTexParameterIivEXT(uint target, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetTexParameterIuivEXT(uint target, uint pname, [OutAttribute] UInt32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glClearColorIiEXT(Int32 red, Int32 green, Int32 blue, Int32 alpha);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glClearColorIuiEXT(UInt32 red, UInt32 green, UInt32 blue, UInt32 alpha);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFrameTerminatorGREMEDY();

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBeginConditionalRenderNV(UInt32 id, uint mode);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glEndConditionalRenderNV();

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPresentFrameKeyedNV(UInt32 video_slot, UInt64 minPresentTime, UInt32 beginPresentTimeId, UInt32 presentDurationId, uint type, uint target0, UInt32 fill0, UInt32 key0, uint target1, UInt32 fill1, UInt32 key1);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPresentFrameDualFillNV(UInt32 video_slot, UInt64 minPresentTime, UInt32 beginPresentTimeId, UInt32 presentDurationId, uint type, uint target0, UInt32 fill0, uint target1, UInt32 fill1, uint target2, UInt32 fill2, uint target3, UInt32 fill3);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetVideoivNV(UInt32 video_slot, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetVideouivNV(UInt32 video_slot, uint pname, [OutAttribute] UInt32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetVideoi64vNV(UInt32 video_slot, uint pname, [OutAttribute] Int64* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetVideoui64vNV(UInt32 video_slot, uint pname, [OutAttribute] UInt64* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBeginTransformFeedbackEXT(uint primitiveMode);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glEndTransformFeedbackEXT();

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBindBufferRangeEXT(uint target, UInt32 index, UInt32 buffer, IntPtr offset, IntPtr size);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBindBufferOffsetEXT(uint target, UInt32 index, UInt32 buffer, IntPtr offset);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBindBufferBaseEXT(uint target, UInt32 index, UInt32 buffer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTransformFeedbackVaryingsEXT(UInt32 program, Int32 count, IntPtr varyings, uint bufferMode);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetTransformFeedbackVaryingEXT(UInt32 program, UInt32 index, Int32 bufSize, [OutAttribute] Int32* length, [OutAttribute] Int32* size, [OutAttribute] uint* type, [OutAttribute] byte* name);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glClientAttribDefaultEXT(UInt32 mask);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPushClientAttribDefaultEXT(UInt32 mask);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMatrixLoadfEXT(uint mode, IntPtr m);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMatrixLoaddEXT(uint mode, IntPtr m);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMatrixMultfEXT(uint mode, IntPtr m);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMatrixMultdEXT(uint mode, IntPtr m);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMatrixLoadIdentityEXT(uint mode);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMatrixRotatefEXT(uint mode, float angle, float x, float y, float z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMatrixRotatedEXT(uint mode, double angle, double x, double y, double z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMatrixScalefEXT(uint mode, float x, float y, float z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMatrixScaledEXT(uint mode, double x, double y, double z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMatrixTranslatefEXT(uint mode, float x, float y, float z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMatrixTranslatedEXT(uint mode, double x, double y, double z);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMatrixFrustumEXT(uint mode, double left, double right, double bottom, double top, double zNear, double zFar);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMatrixOrthoEXT(uint mode, double left, double right, double bottom, double top, double zNear, double zFar);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMatrixPopEXT(uint mode);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMatrixPushEXT(uint mode);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMatrixLoadTransposefEXT(uint mode, IntPtr m);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMatrixLoadTransposedEXT(uint mode, IntPtr m);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMatrixMultTransposefEXT(uint mode, IntPtr m);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMatrixMultTransposedEXT(uint mode, IntPtr m);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTextureParameterfEXT(UInt32 texture, uint target, uint pname, float param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTextureParameterfvEXT(UInt32 texture, uint target, uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTextureParameteriEXT(UInt32 texture, uint target, uint pname, Int32 param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTextureParameterivEXT(UInt32 texture, uint target, uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTextureImage1DEXT(UInt32 texture, uint target, Int32 level, uint internalformat, Int32 width, Int32 border, uint format, uint type, IntPtr pixels);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTextureImage2DEXT(UInt32 texture, uint target, Int32 level, uint internalformat, Int32 width, Int32 height, Int32 border, uint format, uint type, IntPtr pixels);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTextureSubImage1DEXT(UInt32 texture, uint target, Int32 level, Int32 xoffset, Int32 width, uint format, uint type, IntPtr pixels);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTextureSubImage2DEXT(UInt32 texture, uint target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, uint format, uint type, IntPtr pixels);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCopyTextureImage1DEXT(UInt32 texture, uint target, Int32 level, uint internalformat, Int32 x, Int32 y, Int32 width, Int32 border);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCopyTextureImage2DEXT(UInt32 texture, uint target, Int32 level, uint internalformat, Int32 x, Int32 y, Int32 width, Int32 height, Int32 border);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCopyTextureSubImage1DEXT(UInt32 texture, uint target, Int32 level, Int32 xoffset, Int32 x, Int32 y, Int32 width);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCopyTextureSubImage2DEXT(UInt32 texture, uint target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 x, Int32 y, Int32 width, Int32 height);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetTextureImageEXT(UInt32 texture, uint target, Int32 level, uint format, uint type, [OutAttribute] IntPtr pixels);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetTextureParameterfvEXT(UInt32 texture, uint target, uint pname, [OutAttribute] float* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetTextureParameterivEXT(UInt32 texture, uint target, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetTextureLevelParameterfvEXT(UInt32 texture, uint target, Int32 level, uint pname, [OutAttribute] float* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetTextureLevelParameterivEXT(UInt32 texture, uint target, Int32 level, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTextureImage3DEXT(UInt32 texture, uint target, Int32 level, uint internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, uint format, uint type, IntPtr pixels);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTextureSubImage3DEXT(UInt32 texture, uint target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, uint format, uint type, IntPtr pixels);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCopyTextureSubImage3DEXT(UInt32 texture, uint target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 x, Int32 y, Int32 width, Int32 height);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexParameterfEXT(uint texunit, uint target, uint pname, float param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexParameterfvEXT(uint texunit, uint target, uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexParameteriEXT(uint texunit, uint target, uint pname, Int32 param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexParameterivEXT(uint texunit, uint target, uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexImage1DEXT(uint texunit, uint target, Int32 level, uint internalformat, Int32 width, Int32 border, uint format, uint type, IntPtr pixels);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexImage2DEXT(uint texunit, uint target, Int32 level, uint internalformat, Int32 width, Int32 height, Int32 border, uint format, uint type, IntPtr pixels);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexSubImage1DEXT(uint texunit, uint target, Int32 level, Int32 xoffset, Int32 width, uint format, uint type, IntPtr pixels);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexSubImage2DEXT(uint texunit, uint target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, uint format, uint type, IntPtr pixels);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCopyMultiTexImage1DEXT(uint texunit, uint target, Int32 level, uint internalformat, Int32 x, Int32 y, Int32 width, Int32 border);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCopyMultiTexImage2DEXT(uint texunit, uint target, Int32 level, uint internalformat, Int32 x, Int32 y, Int32 width, Int32 height, Int32 border);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCopyMultiTexSubImage1DEXT(uint texunit, uint target, Int32 level, Int32 xoffset, Int32 x, Int32 y, Int32 width);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCopyMultiTexSubImage2DEXT(uint texunit, uint target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 x, Int32 y, Int32 width, Int32 height);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetMultiTexImageEXT(uint texunit, uint target, Int32 level, uint format, uint type, [OutAttribute] IntPtr pixels);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetMultiTexParameterfvEXT(uint texunit, uint target, uint pname, [OutAttribute] float* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetMultiTexParameterivEXT(uint texunit, uint target, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetMultiTexLevelParameterfvEXT(uint texunit, uint target, Int32 level, uint pname, [OutAttribute] float* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetMultiTexLevelParameterivEXT(uint texunit, uint target, Int32 level, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexImage3DEXT(uint texunit, uint target, Int32 level, uint internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, uint format, uint type, IntPtr pixels);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexSubImage3DEXT(uint texunit, uint target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, uint format, uint type, IntPtr pixels);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCopyMultiTexSubImage3DEXT(uint texunit, uint target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 x, Int32 y, Int32 width, Int32 height);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBindMultiTextureEXT(uint texunit, uint target, UInt32 texture);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glEnableClientStateIndexedEXT(uint array, UInt32 index);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDisableClientStateIndexedEXT(uint array, UInt32 index);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexCoordPointerEXT(uint texunit, Int32 size, uint type, Int32 stride, IntPtr pointer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexEnvfEXT(uint texunit, uint target, uint pname, float param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexEnvfvEXT(uint texunit, uint target, uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexEnviEXT(uint texunit, uint target, uint pname, Int32 param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexEnvivEXT(uint texunit, uint target, uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexGendEXT(uint texunit, uint coord, uint pname, double param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexGendvEXT(uint texunit, uint coord, uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexGenfEXT(uint texunit, uint coord, uint pname, float param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexGenfvEXT(uint texunit, uint coord, uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexGeniEXT(uint texunit, uint coord, uint pname, Int32 param);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexGenivEXT(uint texunit, uint coord, uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetMultiTexEnvfvEXT(uint texunit, uint target, uint pname, [OutAttribute] float* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetMultiTexEnvivEXT(uint texunit, uint target, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetMultiTexGendvEXT(uint texunit, uint coord, uint pname, [OutAttribute] double* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetMultiTexGenfvEXT(uint texunit, uint coord, uint pname, [OutAttribute] float* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetMultiTexGenivEXT(uint texunit, uint coord, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetFloatIndexedvEXT(uint target, UInt32 index, [OutAttribute] float* data);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetDoubleIndexedvEXT(uint target, UInt32 index, [OutAttribute] double* data);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetPointerIndexedvEXT(uint target, UInt32 index, [OutAttribute] IntPtr* data);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCompressedTextureImage3DEXT(UInt32 texture, uint target, Int32 level, uint internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, IntPtr bits);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCompressedTextureImage2DEXT(UInt32 texture, uint target, Int32 level, uint internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, IntPtr bits);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCompressedTextureImage1DEXT(UInt32 texture, uint target, Int32 level, uint internalformat, Int32 width, Int32 border, Int32 imageSize, IntPtr bits);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCompressedTextureSubImage3DEXT(UInt32 texture, uint target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, uint format, Int32 imageSize, IntPtr bits);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCompressedTextureSubImage2DEXT(UInt32 texture, uint target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, uint format, Int32 imageSize, IntPtr bits);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCompressedTextureSubImage1DEXT(UInt32 texture, uint target, Int32 level, Int32 xoffset, Int32 width, uint format, Int32 imageSize, IntPtr bits);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetCompressedTextureImageEXT(UInt32 texture, uint target, Int32 lod, [OutAttribute] IntPtr img);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCompressedMultiTexImage3DEXT(uint texunit, uint target, Int32 level, uint internalformat, Int32 width, Int32 height, Int32 depth, Int32 border, Int32 imageSize, IntPtr bits);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCompressedMultiTexImage2DEXT(uint texunit, uint target, Int32 level, uint internalformat, Int32 width, Int32 height, Int32 border, Int32 imageSize, IntPtr bits);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCompressedMultiTexImage1DEXT(uint texunit, uint target, Int32 level, uint internalformat, Int32 width, Int32 border, Int32 imageSize, IntPtr bits);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCompressedMultiTexSubImage3DEXT(uint texunit, uint target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 zoffset, Int32 width, Int32 height, Int32 depth, uint format, Int32 imageSize, IntPtr bits);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCompressedMultiTexSubImage2DEXT(uint texunit, uint target, Int32 level, Int32 xoffset, Int32 yoffset, Int32 width, Int32 height, uint format, Int32 imageSize, IntPtr bits);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCompressedMultiTexSubImage1DEXT(uint texunit, uint target, Int32 level, Int32 xoffset, Int32 width, uint format, Int32 imageSize, IntPtr bits);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetCompressedMultiTexImageEXT(uint texunit, uint target, Int32 lod, [OutAttribute] IntPtr img);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNamedProgramStringEXT(UInt32 program, uint target, uint format, Int32 len, IntPtr str);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNamedProgramLocalParameter4dEXT(UInt32 program, uint target, UInt32 index, double x, double y, double z, double w);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNamedProgramLocalParameter4dvEXT(UInt32 program, uint target, UInt32 index, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNamedProgramLocalParameter4fEXT(UInt32 program, uint target, UInt32 index, float x, float y, float z, float w);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNamedProgramLocalParameter4fvEXT(UInt32 program, uint target, UInt32 index, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetNamedProgramLocalParameterdvEXT(UInt32 program, uint target, UInt32 index, [OutAttribute] double* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetNamedProgramLocalParameterfvEXT(UInt32 program, uint target, UInt32 index, [OutAttribute] float* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetNamedProgramivEXT(UInt32 program, uint target, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetNamedProgramStringEXT(UInt32 program, uint target, uint pname, [OutAttribute] IntPtr str);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNamedProgramLocalParameters4fvEXT(UInt32 program, uint target, UInt32 index, Int32 count, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNamedProgramLocalParameterI4iEXT(UInt32 program, uint target, UInt32 index, Int32 x, Int32 y, Int32 z, Int32 w);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNamedProgramLocalParameterI4ivEXT(UInt32 program, uint target, UInt32 index, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNamedProgramLocalParametersI4ivEXT(UInt32 program, uint target, UInt32 index, Int32 count, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNamedProgramLocalParameterI4uiEXT(UInt32 program, uint target, UInt32 index, UInt32 x, UInt32 y, UInt32 z, UInt32 w);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNamedProgramLocalParameterI4uivEXT(UInt32 program, uint target, UInt32 index, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNamedProgramLocalParametersI4uivEXT(UInt32 program, uint target, UInt32 index, Int32 count, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetNamedProgramLocalParameterIivEXT(UInt32 program, uint target, UInt32 index, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetNamedProgramLocalParameterIuivEXT(UInt32 program, uint target, UInt32 index, [OutAttribute] UInt32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTextureParameterIivEXT(UInt32 texture, uint target, uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTextureParameterIuivEXT(UInt32 texture, uint target, uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetTextureParameterIivEXT(UInt32 texture, uint target, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetTextureParameterIuivEXT(UInt32 texture, uint target, uint pname, [OutAttribute] UInt32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexParameterIivEXT(uint texunit, uint target, uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexParameterIuivEXT(uint texunit, uint target, uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetMultiTexParameterIivEXT(uint texunit, uint target, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetMultiTexParameterIuivEXT(uint texunit, uint target, uint pname, [OutAttribute] UInt32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramUniform1fEXT(UInt32 program, Int32 location, float v0);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramUniform2fEXT(UInt32 program, Int32 location, float v0, float v1);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramUniform3fEXT(UInt32 program, Int32 location, float v0, float v1, float v2);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramUniform4fEXT(UInt32 program, Int32 location, float v0, float v1, float v2, float v3);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramUniform1iEXT(UInt32 program, Int32 location, Int32 v0);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramUniform2iEXT(UInt32 program, Int32 location, Int32 v0, Int32 v1);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramUniform3iEXT(UInt32 program, Int32 location, Int32 v0, Int32 v1, Int32 v2);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramUniform4iEXT(UInt32 program, Int32 location, Int32 v0, Int32 v1, Int32 v2, Int32 v3);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramUniform1fvEXT(UInt32 program, Int32 location, Int32 count, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramUniform2fvEXT(UInt32 program, Int32 location, Int32 count, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramUniform3fvEXT(UInt32 program, Int32 location, Int32 count, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramUniform4fvEXT(UInt32 program, Int32 location, Int32 count, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramUniform1ivEXT(UInt32 program, Int32 location, Int32 count, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramUniform2ivEXT(UInt32 program, Int32 location, Int32 count, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramUniform3ivEXT(UInt32 program, Int32 location, Int32 count, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramUniform4ivEXT(UInt32 program, Int32 location, Int32 count, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramUniformMatrix2fvEXT(UInt32 program, Int32 location, Int32 count, byte transpose, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramUniformMatrix3fvEXT(UInt32 program, Int32 location, Int32 count, byte transpose, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramUniformMatrix4fvEXT(UInt32 program, Int32 location, Int32 count, byte transpose, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramUniformMatrix2x3fvEXT(UInt32 program, Int32 location, Int32 count, byte transpose, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramUniformMatrix3x2fvEXT(UInt32 program, Int32 location, Int32 count, byte transpose, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramUniformMatrix2x4fvEXT(UInt32 program, Int32 location, Int32 count, byte transpose, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramUniformMatrix4x2fvEXT(UInt32 program, Int32 location, Int32 count, byte transpose, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramUniformMatrix3x4fvEXT(UInt32 program, Int32 location, Int32 count, byte transpose, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramUniformMatrix4x3fvEXT(UInt32 program, Int32 location, Int32 count, byte transpose, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramUniform1uiEXT(UInt32 program, Int32 location, UInt32 v0);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramUniform2uiEXT(UInt32 program, Int32 location, UInt32 v0, UInt32 v1);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramUniform3uiEXT(UInt32 program, Int32 location, UInt32 v0, UInt32 v1, UInt32 v2);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramUniform4uiEXT(UInt32 program, Int32 location, UInt32 v0, UInt32 v1, UInt32 v2, UInt32 v3);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramUniform1uivEXT(UInt32 program, Int32 location, Int32 count, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramUniform2uivEXT(UInt32 program, Int32 location, Int32 count, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramUniform3uivEXT(UInt32 program, Int32 location, Int32 count, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramUniform4uivEXT(UInt32 program, Int32 location, Int32 count, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNamedBufferDataEXT(UInt32 buffer, IntPtr size, IntPtr data, uint usage);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNamedBufferSubDataEXT(UInt32 buffer, IntPtr offset, IntPtr size, IntPtr data);

		[DllImport("opengl32.dll")]
		internal static unsafe extern IntPtr glMapNamedBufferEXT(UInt32 buffer, uint access);

		[DllImport("opengl32.dll")]
		internal static unsafe extern byte glUnmapNamedBufferEXT(UInt32 buffer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern IntPtr glMapNamedBufferRangeEXT(UInt32 buffer, IntPtr offset, IntPtr length, UInt32 access);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFlushMappedNamedBufferRangeEXT(UInt32 buffer, IntPtr offset, IntPtr length);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNamedCopyBufferSubDataEXT(UInt32 readBuffer, UInt32 writeBuffer, IntPtr readOffset, IntPtr writeOffset, IntPtr size);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetNamedBufferParameterivEXT(UInt32 buffer, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetNamedBufferPointervEXT(UInt32 buffer, uint pname, [OutAttribute] IntPtr* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetNamedBufferSubDataEXT(UInt32 buffer, IntPtr offset, IntPtr size, [OutAttribute] IntPtr data);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTextureBufferEXT(UInt32 texture, uint target, uint internalformat, UInt32 buffer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexBufferEXT(uint texunit, uint target, uint internalformat, UInt32 buffer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNamedRenderbufferStorageEXT(UInt32 renderbuffer, uint internalformat, Int32 width, Int32 height);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetNamedRenderbufferParameterivEXT(UInt32 renderbuffer, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern uint glCheckNamedFramebufferStatusEXT(UInt32 framebuffer, uint target);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNamedFramebufferTexture1DEXT(UInt32 framebuffer, uint attachment, uint textarget, UInt32 texture, Int32 level);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNamedFramebufferTexture2DEXT(UInt32 framebuffer, uint attachment, uint textarget, UInt32 texture, Int32 level);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNamedFramebufferTexture3DEXT(UInt32 framebuffer, uint attachment, uint textarget, UInt32 texture, Int32 level, Int32 zoffset);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNamedFramebufferRenderbufferEXT(UInt32 framebuffer, uint attachment, uint renderbuffertarget, UInt32 renderbuffer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetNamedFramebufferAttachmentParameterivEXT(UInt32 framebuffer, uint attachment, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGenerateTextureMipmapEXT(UInt32 texture, uint target);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGenerateMultiTexMipmapEXT(uint texunit, uint target);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFramebufferDrawBufferEXT(UInt32 framebuffer, uint mode);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFramebufferDrawBuffersEXT(UInt32 framebuffer, Int32 n, IntPtr bufs);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFramebufferReadBufferEXT(UInt32 framebuffer, uint mode);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetFramebufferParameterivEXT(UInt32 framebuffer, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNamedRenderbufferStorageMultisampleEXT(UInt32 renderbuffer, Int32 samples, uint internalformat, Int32 width, Int32 height);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNamedRenderbufferStorageMultisampleCoverageEXT(UInt32 renderbuffer, Int32 coverageSamples, Int32 colorSamples, uint internalformat, Int32 width, Int32 height);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNamedFramebufferTextureEXT(UInt32 framebuffer, uint attachment, UInt32 texture, Int32 level);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNamedFramebufferTextureLayerEXT(UInt32 framebuffer, uint attachment, UInt32 texture, Int32 level, Int32 layer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNamedFramebufferTextureFaceEXT(UInt32 framebuffer, uint attachment, UInt32 texture, Int32 level, uint face);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTextureRenderbufferEXT(UInt32 texture, uint target, UInt32 renderbuffer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMultiTexRenderbufferEXT(uint texunit, uint target, UInt32 renderbuffer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetMultisamplefvNV(uint pname, UInt32 index, [OutAttribute] float* val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSampleMaskIndexedNV(UInt32 index, UInt32 mask);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexRenderbufferNV(uint target, UInt32 renderbuffer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBindTransformFeedbackNV(uint target, UInt32 id);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDeleteTransformFeedbacksNV(Int32 n, IntPtr ids);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGenTransformFeedbacksNV(Int32 n, [OutAttribute] UInt32* ids);

		[DllImport("opengl32.dll")]
		internal static unsafe extern byte glIsTransformFeedbackNV(UInt32 id);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glPauseTransformFeedbackNV();

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glResumeTransformFeedbackNV();

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDrawTransformFeedbackNV(uint mode, UInt32 id);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetPerfMonitorGroupsAMD([OutAttribute] Int32* numGroups, Int32 groupsSize, [OutAttribute] UInt32* groups);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetPerfMonitorCountersAMD(UInt32 group, [OutAttribute] Int32* numCounters, [OutAttribute] Int32* maxActiveCounters, Int32 counterSize, [OutAttribute] UInt32* counters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetPerfMonitorGroupStringAMD(UInt32 group, Int32 bufSize, [OutAttribute] Int32* length, [OutAttribute] byte* groupString);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetPerfMonitorCounterStringAMD(UInt32 group, UInt32 counter, Int32 bufSize, [OutAttribute] Int32* length, [OutAttribute] byte* counterString);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetPerfMonitorCounterInfoAMD(UInt32 group, UInt32 counter, uint pname, [OutAttribute] IntPtr data);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGenPerfMonitorsAMD(Int32 n, [OutAttribute] UInt32* monitors);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDeletePerfMonitorsAMD(Int32 n, [OutAttribute] UInt32* monitors);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSelectPerfMonitorCountersAMD(UInt32 monitor, byte enable, UInt32 group, Int32 numCounters, [OutAttribute] UInt32* counterList);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBeginPerfMonitorAMD(UInt32 monitor);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glEndPerfMonitorAMD(UInt32 monitor);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetPerfMonitorCounterDataAMD(UInt32 monitor, uint pname, Int32 dataSize, [OutAttribute] UInt32* data, [OutAttribute] Int32* bytesWritten);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTessellationFactorAMD(float factor);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTessellationModeAMD(uint mode);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProvokingVertexEXT(uint mode);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBlendFuncIndexedAMD(UInt32 buf, uint src, uint dst);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBlendFuncSeparateIndexedAMD(UInt32 buf, uint srcRGB, uint dstRGB, uint srcAlpha, uint dstAlpha);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBlendEquationIndexedAMD(UInt32 buf, uint mode);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBlendEquationSeparateIndexedAMD(UInt32 buf, uint modeRGB, uint modeAlpha);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTextureRangeAPPLE(uint target, Int32 length, IntPtr pointer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetTexParameterPointervAPPLE(uint target, uint pname, [OutAttribute] IntPtr* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glEnableVertexAttribAPPLE(UInt32 index, uint pname);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glDisableVertexAttribAPPLE(UInt32 index, uint pname);

		[DllImport("opengl32.dll")]
		internal static unsafe extern byte glIsVertexAttribEnabledAPPLE(UInt32 index, uint pname);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMapVertexAttrib1dAPPLE(UInt32 index, UInt32 size, double u1, double u2, Int32 stride, Int32 order, IntPtr points);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMapVertexAttrib1fAPPLE(UInt32 index, UInt32 size, float u1, float u2, Int32 stride, Int32 order, IntPtr points);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMapVertexAttrib2dAPPLE(UInt32 index, UInt32 size, double u1, double u2, Int32 ustride, Int32 uorder, double v1, double v2, Int32 vstride, Int32 vorder, IntPtr points);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMapVertexAttrib2fAPPLE(UInt32 index, UInt32 size, float u1, float u2, Int32 ustride, Int32 uorder, float v1, float v2, Int32 vstride, Int32 vorder, IntPtr points);

		[DllImport("opengl32.dll")]
		internal static unsafe extern uint glObjectPurgeableAPPLE(uint objectType, UInt32 name, uint option);

		[DllImport("opengl32.dll")]
		internal static unsafe extern uint glObjectUnpurgeableAPPLE(uint objectType, UInt32 name, uint option);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetObjectParameterivAPPLE(uint objectType, UInt32 name, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBeginVideoCaptureNV(UInt32 video_capture_slot);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBindVideoCaptureStreamBufferNV(UInt32 video_capture_slot, UInt32 stream, uint frame_region, IntPtr offset);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBindVideoCaptureStreamTextureNV(UInt32 video_capture_slot, UInt32 stream, uint frame_region, uint target, UInt32 texture);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glEndVideoCaptureNV(UInt32 video_capture_slot);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetVideoCaptureivNV(UInt32 video_capture_slot, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetVideoCaptureStreamivNV(UInt32 video_capture_slot, UInt32 stream, uint pname, [OutAttribute] Int32* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetVideoCaptureStreamfvNV(UInt32 video_capture_slot, UInt32 stream, uint pname, [OutAttribute] float* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetVideoCaptureStreamdvNV(UInt32 video_capture_slot, UInt32 stream, uint pname, [OutAttribute] double* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVideoCaptureStreamParameterivNV(UInt32 video_capture_slot, UInt32 stream, uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVideoCaptureStreamParameterfvNV(UInt32 video_capture_slot, UInt32 stream, uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVideoCaptureStreamParameterdvNV(UInt32 video_capture_slot, UInt32 stream, uint pname, IntPtr parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glCopyImageSubDataNV(UInt32 srcName, uint srcTarget, Int32 srcLevel, Int32 srcX, Int32 srcY, Int32 srcZ, UInt32 dstName, uint dstTarget, Int32 dstLevel, Int32 dstX, Int32 dstY, Int32 dstZ, Int32 width, Int32 height, Int32 depth);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUseShaderProgramEXT(uint type, UInt32 program);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glActiveProgramEXT(UInt32 program);

		[DllImport("opengl32.dll")]
		internal static unsafe extern UInt32 glCreateShaderProgramEXT(uint type, IntPtr str);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMakeBufferResidentNV(uint target, uint access);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMakeBufferNonResidentNV(uint target);

		[DllImport("opengl32.dll")]
		internal static unsafe extern byte glIsBufferResidentNV(uint target);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMakeNamedBufferResidentNV(UInt32 buffer, uint access);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glMakeNamedBufferNonResidentNV(UInt32 buffer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern byte glIsNamedBufferResidentNV(UInt32 buffer);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetBufferParameterui64vNV(uint target, uint pname, [OutAttribute] UInt64* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetNamedBufferParameterui64vNV(UInt32 buffer, uint pname, [OutAttribute] UInt64* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetIntegerui64vNV(uint val, [OutAttribute] UInt64* result);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniformui64NV(Int32 location, UInt64 val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glUniformui64vNV(Int32 location, Int32 count, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetUniformui64vNV(UInt32 program, Int32 location, [OutAttribute] UInt64* parameters);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramUniformui64NV(UInt32 program, Int32 location, UInt64 val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glProgramUniformui64vNV(UInt32 program, Int32 location, Int32 count, IntPtr val);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glBufferAddressRangeNV(uint pname, UInt32 index, UInt64 address, IntPtr length);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexFormatNV(Int32 size, uint type, Int32 stride);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glNormalFormatNV(uint type, Int32 stride);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glColorFormatNV(Int32 size, uint type, Int32 stride);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glIndexFormatNV(uint type, Int32 stride);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTexCoordFormatNV(Int32 size, uint type, Int32 stride);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glEdgeFlagFormatNV(Int32 stride);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glSecondaryColorFormatNV(Int32 size, uint type, Int32 stride);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glFogCoordFormatNV(uint type, Int32 stride);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribFormatNV(UInt32 index, Int32 size, uint type, byte normalized, Int32 stride);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glVertexAttribIFormatNV(UInt32 index, Int32 size, uint type, Int32 stride);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glGetIntegerui64i_vNV(uint val, UInt32 index, [OutAttribute] UInt64* result);

		[DllImport("opengl32.dll")]
		internal static unsafe extern void glTextureBarrierNV();

	}
}
